import random
user_name=("enter your name:")
print("Note: The number lies between 1 to 100")
random_nuber = random.randrange(1, 100, 1)
user_number = input("enter your guess")
dif= user_number - random_nuber
while dif != 0:
if dif > 0:
print("high")
if dif < 0:
print("low")
user_number = input("enter your guess now :")
我是初学者,每次使用while或for循环时,我都会遇到同样的错误。
答案 0 :(得分:-1)
input("enter your guess")
正在返回一个字符串,因此user_number - random_nuber
将无效,因为它们是不同的类型 - 数字和字符串。
编辑:对于习惯使用Python2的人来说,这通常会尝试评估字符串 - 所以如果输入一个数字,它会自动将其转换为数字。在Python3中(根据问题),它始终是一个字符串,因此需要进行转换。
您需要将数字转换为字符串,方法是在创建时将其更改为整数:user_number = int(input("enter your guess"))
,或者在操作中需要时将其更改为:dif= int(user_number) - random_nuber
(就个人而言,我推荐第一个选项)
答案 1 :(得分:-2)
您需要重新计算while循环内部的差异。
所以,只需在while循环中重复dif= user_number - random_nuber
。