为什么我不能将随机数从 1 打印到变量?



我正在制作一个python程序,在该程序中输入一个输入,它会找到一个从1到该输入的随机数。不管出于什么原因,它对我都不起作用。

我试着用这种

import random
a = input('pick a number: ')
print(random.randint(1, a))
input("Press enter to exit")

但它对我不起作用,因为它一开始打印,cmd提示符就会关闭。有人知道怎么解决这个问题吗?

randInt()接受两种int数据类型,input()返回一个String。所以您所需要做的就是将a转换为int

所以做这个

import random
a = input('pick a number: ')
print(random.randint(1, int(a)))
input("Press enter to exit")

randint不接受字符串,但您可以使用try。如果数字有错误,那么写一条需要int的消息。对不起我的英语。

import random;
try:
a = int(input("pick a number: "))
print(random.randint(1, a))
input("Press enter to exit")
except ValueError:
print("You need to write a number.")

您很可能会得到一个TypeError。作为input,将用户输入的终端数据保存为str(字符串(。您需要将该字符串强制转换为整数(int(,以便Python 将其识别为数字

import random
# a is a string here
a = input('pick a number: ')
# a is converted to an int here (if it can be)
a = int(a)
print(random.randint(1, a))
input("Press enter to exit")

以下是如何强制用户输入数字:

import random
while True:
# a is a string here
a = input('pick a number: ')
try:
# Try and convert a to an int
a = int(a)
# Exit this loop if you didn't get an error
break
except (TypeError, ValueError):
print("That's not a number!")
print(random.randint(1, a))
input("Press enter to exit")

如果您在try循环中将输入转换为int时出错,它将转到except部分,并将保持循环,直到它正确工作


为了学习,请阅读此处:(

https://www.w3schools.com/python/python_try_except.asp

最新更新