有人可以帮我识别我的代码中的错误

时间:2017-06-25 07:55:41

标签: python python-3.x error-handling

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循环时,我都会遇到同样的错误。

the error I get each time I run this code

2 个答案:

答案 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