整数在Python中成为字符串

时间:2017-01-19 07:56:42

标签: python

我正在学习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'是一个数字?

2 个答案:

答案 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的一点技术性

阅读本文以获取更多信息:

  

然后函数从输入中读取一行,将其转换为字符串(剥离尾部换行符),然后返回该行。

https://docs.python.org/3/library/functions.html#input