我正在制作一个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