Python TypeError:无序类型:int()>;str()

Python TypeError:无序类型:int()>;str(),python,python-3.x,input,conditional,typeerror,Python,Python 3.x,Input,Conditional,Typeerror,目标:与第一个项目类似,这个项目也使用Python中的random模块。程序将首先随机生成一个用户未知的数字。用户需要猜测该数字是多少。(换句话说,用户需要能够输入信息。)如果用户的猜测是错误的,程序应该返回某种关于错误程度的指示(例如,数字太高或太低)。如果用户猜测正确,则应显示肯定指示。您需要一些函数来检查用户输入的数字是否为实际数字,查看输入的数字与随机生成的数字之间的差异,然后比较这些数字 这就是我所做的,但我不知道如何修复它: 在python3中,input返回一个字符串。将此字符串直

目标:与第一个项目类似,这个项目也使用Python中的random模块。程序将首先随机生成一个用户未知的数字。用户需要猜测该数字是多少。(换句话说,用户需要能够输入信息。)如果用户的猜测是错误的,程序应该返回某种关于错误程度的指示(例如,数字太高或太低)。如果用户猜测正确,则应显示肯定指示。您需要一些函数来检查用户输入的数字是否为实际数字,查看输入的数字与随机生成的数字之间的差异,然后比较这些数字

这就是我所做的,但我不知道如何修复它:


在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()
然后,它应该起作用:

In [536]: 1 > 2
Out[536]: False


然而,这只解决了一个问题。每次调用函数时,
number
都会用一个新值重新初始化,这样,如果您根据一个数字进行猜测并再次调用该函数,那么下次您将根据一个完全不同的随机数进行猜测。您需要在函数外部设置
数字
,然后调用该函数,将猜测和随机数作为参数传递

当复制/粘贴你的代码到一个屏幕截图,将文件保存到磁盘并上传时,你需要花费大约半秒钟的时间?它是专用的,但它让我们更难:(代码中的一些逻辑问题,它会在用户每次猜测时生成一个新的随机数。这可能会导致“猜测4,太高,猜测3,太低,lol whut??”好的,thx,我会研究一下。我注意到你的代码实际上没有任何注释。你一生都在学习用英语思考,但现在你正在学习一门新的语言,最好先用你熟悉的语言草拟算法。也就是说,先用英语思考,然后翻译成python。不要尝试这样做这两个步骤同时进行。谢谢你的建议
In [536]: 1 > 2
Out[536]: False