我正在学习Python,这是我的第一门编程语言。所以我尝试制作一个数字猜谜游戏,目标是猜测一个在1和100之内的数字。每当玩家输入猜测时,程序将更新可能性范围。示例:答案为50,玩家猜测为40,然后程序会提示玩家猜测40到100之间的数字......直到玩家获得该数字。这是我的工作代码:
ans=input('Please enter a number between 1 and 100: ')
guess=input('Please enter your guess: ')
low=1
upp=100
while guess!=ans:
if ans>guess:
low=int(guess)
elif ans<guess:
upp=int(guess)
guess=input('The answer is between %d and ' %low + '%d' %upp)
else:
print('You have guessed correctly!')
此代码按预期工作,但是在While循环中为变量'low'和'upp'赋值,如果我改为使用'upp = guess',程序将无效。会发生TypeError,似乎'upp'(或'low')变成了一个字符串而不是一个数字。
我的问题是变量'upp'是如何成为一个字符串而变量'guess'是一个数字?
答案 0 :(得分:0)
您可以随时通过以下方式将字符串转换为int,反之亦然:
string = "55"
integer = int(string)
print(integer)
输出:55
integer = 55
string = str(integer)
print (string)
输出:&#34; 55&#34;
答案 1 :(得分:0)
在python中使用input
函数的所有数据默认都被解释为字符串。要将其更改为int,只需使用int(guess)
,这就是您正在做的事情。它只是Python的一点技术性
阅读本文以获取更多信息:
然后函数从输入中读取一行,将其转换为字符串(剥离尾部换行符),然后返回该行。