为什么我会得到;ValueError:基数为10的int()的文本无效;。在这个Python代码中?

为什么我会得到;ValueError:基数为10的int()的文本无效;。在这个Python代码中?,python,oop,Python,Oop,我是一个试图提高Python技能的初学者。我发现了一个与我的问题非常相似的问题,但由于源代码不同,所以没有任何好处。以下是问题的链接: 无论如何,这是我的代码: correct_answer= 41 guess = int(input("Guess the number")) if int(input()) == correct_answer: print ("You found my number!") if int (input()) >= correct_answer: prin

我是一个试图提高Python技能的初学者。我发现了一个与我的问题非常相似的问题,但由于源代码不同,所以没有任何好处。以下是问题的链接: 无论如何,这是我的代码:

correct_answer= 41
guess = int(input("Guess the number"))

if int(input()) == correct_answer:
print ("You found my number!")

if int (input()) >= correct_answer:
print ("My number is lower.")

if int (input()) <= correct_answer:
print ("My number is higher.")

else:
print ("You didn't write any numbers!")
正确答案=41
猜测=int(输入(“猜测数字”))
如果int(input())==正确答案:
打印(“你找到我的号码了!”)
如果int(input())>=正确答案:
打印(“我的号码更低。”)
如果int(input())试试这个-

correct_answer= 41
guess = raw_input("Guess the number")
try:
    guess = int(guess)
except ValueError:
    print "Wrong value entered"

if guess == correct_answer:
    print ("You found my number!")
elif....
如果有帮助,请告诉我

当您接受输入,有人输入一个字母表或不是整数的东西,并且您尝试键入它时,python将抛出一个
ValueError

为了捕获这种情况,我们使用
try,除非
block将捕获它。更多关于python的信息

关于代码的几点提示-

if int(input()) == correct_answer:
在这里,您只需调用
input()
函数,程序将无法运行,请使用变量
guess
,这是您输入的变量

如果int(input())==正确答案:
打印(“你找到我的号码了!”)
如果int(input())>=正确答案:
打印(“我的号码更低。”)

如果int(input())正确回答
,您不需要
=
=
表示大于或等于,但您已经在第一个条件中处理了相同的情况,如果它相等,它将在那里被捕获,类似于小于或等于

,问题是您反复调用
input()
。每次您这样做时,程序都需要输入,用户必须重新键入猜测,以便程序按预期工作。将
int(input())
(带有空提示)的所有实例替换为
guess
,您将看到更合理的行为。例如

if guess == correct_answer:
    print ("You found my number!")

为什么要在您的条件下一次又一次地接受输入?当然,还要修复缩进“替换int(input())的所有实例…”,第一次使用
input
时有一个非空提示,因此它与此描述不匹配;-)你没有办法知道这一点,但是在这个网站上的回答中不鼓励“试试这个”:这是一个代码的路标,可能会起作用,但没有解释——在这种情况下,你给出了一个新的解决方案,但没有说明OP的代码是错误的。编辑它,这样OP就可以了解出了什么问题。谢谢你的指导@你的答案基本正确,但我的程序说“原始输入未定义”,因此我只写了“输入”。添加“Exception ValueError:”似乎解决了我的大部分问题,但这次程序运行时会出现以下错误:“TypeError:”>“builtin_function_或_method”和“int”实例之间不受支持。”“这一次有什么问题?请查看编辑后的答案,让我知道它是否解决了问题。如果没有,一定要在收到错误的那一行张贴
if guess == correct_answer:
    print ("You found my number!")