目标:与第一个项目类似,该项目也使用Python中的随机模块。该程序将首先随机生成用户未知的数字。用户需要猜出该号码是什么。 (换句话说,用户需要能够输入信息。)如果用户的猜测错误,程序应该返回某种错误的指示(例如,数字太高或太低)。如果用户猜对了,就会出现正面指示。您需要检查用户输入是否为实际数字的功能,以查看输入数字与随机生成数字之间的差异,然后比较数字。
这就是我所做的,但我不知道如何解决它:
答案 0 :(得分:1)
在python3中,input
返回一个字符串。您将此字符串直接传递给函数,并与从random.choice
获得的整数进行比较。这就是:
In [535]: '1' > 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-535-6857a5c3feea> in <module>()
----> 1 '1' > 2
TypeError: unorderable types: str() > int()
结论:int
和str
无法比较。您需要通过调用int
函数来转换输入。
your_guess = int(input(...))
然后,它应该工作:
In [536]: 1 > 2
Out[536]: False
然而,这只解决了一个问题。每次调用函数时,每次都会使用新值重新初始化number
,这样如果您猜测一个数字并再次调用该函数,下次您将猜测一个完全不同的随机数。你需要在函数外设置numbers
然后然后调用函数,将猜测和随机数作为参数传递。