[英]Why can't I print a random integer numpy array with range()
[英]Why can't I print a random number from 1 to a variable?
我正在制作一个 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")
您很可能收到TypeError
。 As input
将用户输入的终端数据保存为str
(字符串)。 您需要将该字符串转换为 integer ( 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
时出错,它将 go 到except
部分,并继续循环直到它正常工作
在这里进一步阅读,为了学习:)
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.")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.