Python 有人能帮我找出这个密码吗? 随机导入 print“欢迎使用数字猜测程序。我们将选择一个介于1和100之间的数字,然后让您选择一个介于1和100之间的数字。如果您的数字与数字相差10个整数,则您将获胜!” rand_num=random.randint(1100) 用户输入=原始输入('输入您的猜测:')。isdigit() 数字=整数(用户输入) 打印号码 如果abs(rand_num-number)
Python 有人能帮我找出这个密码吗? 随机导入 print“欢迎使用数字猜测程序。我们将选择一个介于1和100之间的数字,然后让您选择一个介于1和100之间的数字。如果您的数字与数字相差10个整数,则您将获胜!” rand_num=random.randint(1100) 用户输入=原始输入('输入您的猜测:')。isdigit() 数字=整数(用户输入) 打印号码 如果abs(rand_num-number),python,Python,原始输入返回您输入的字符串作为输入isdigit()检查字符串是否为数字,并返回True或False 在您的代码中,您将isdigit的返回值分配给user\u input,因此,您可以得到True或False。然后将其转换为一个数字,从而得到1或0。这不是你想要的 让user\u input只是raw\u input的结果。然后使用user\u input.isdigit()检查该数字是否有效。如果不是数字,则打印错误消息并退出(或重新请求输入),否则将用户输入转换为整数并继续操作。问题是此语
原始输入
返回您输入的字符串作为输入isdigit()
检查字符串是否为数字,并返回True或False
在您的代码中,您将isdigit
的返回值分配给user\u input
,因此,您可以得到True
或False
。然后将其转换为一个数字,从而得到1或0。这不是你想要的
让
user\u input
只是raw\u input
的结果。然后使用user\u input.isdigit()
检查该数字是否有效。如果不是数字,则打印错误消息并退出(或重新请求输入),否则将用户输入转换为整数并继续操作。问题是此语句的乘积:
import random
print "Welcome to the number guesser program. We will pick a number between 1 and 100 and then ask you to pick a number between 1 and 100. If your number is 10 integers away from the number, you win!"
rand_num = random.randint(1, 100)
user_input = raw_input('Put in your guess:').isdigit()
number = int(user_input)
print number
if abs(rand_num - number) <= 10:
print "Winner"
else:
print "Loser"
isdigit()的返回值为True或False。当您输入1或任何数字时,它将返回True(True=1,False=0),因此如果您输入数字,您将始终得到1。您可以这样更改:
user_input = raw_input('Put in your guess:').isdigit().
请看这一行:
user\u input=raw\u input('输入您的猜测:')。isdigit()
函数raw\u input
提供用户输入,但随后调用isdigit
,作为变量user\u input
的结果,您将得到isdigit
的结果。所以,它有布尔值
然后在
number=int(用户输入)
将其强制转换为整数类型。在python中,true为1,false为0。这就是为什么你总是得到1 IMHO,try:int(原始输入(“…”);除此之外:错误消息
将比
更好,否则@Lafexlos,同意。OP似乎非常想使用isdigit
,但它有问题,所以我展示了如何使用它。
import random
print "Welcome to the number guesser program.
We will pick a number between
1 and 100 and then ask you to pick a number
between 1 and 100. If your number is 10 integers
away from the number, you win!"
rand_num = random.randint(1, 100)
user_input= raw_input('Put in your guess:')
is_digit = user_input.isdigit()
if is_digit==True:
number = int(user_input)
print number
if abs(rand_num - number) <= 10:
print "Winner"
else:
print "Loser"
else:
print 'Your input is not a digit.'