课后作业
temp = input ('请输入一个数字:')print (temp)
请问temp 是什么数字类型?我自己的答案以为是字符型,实践结果是个输入的那个数字即整形。令我困惑的是下面的程序中还用int()将temp 转换了一下,既然已经是整形为什么还要转换?
print('........数字游戏.......')
i = 3
import random
secret = random.randint (1,10)
while i:
temp = input('请输入一个数字:')
guess = int (temp)
if guess == secret:
print ('恭喜你答对了')
break
elif guess > secret :
print ('大了大了')
else:
print ('小了小了')
i -= 1
print ('您还有',i,'次机会')
if i ==0:
print ('机会用完了')
print ('游戏结束')
input的输入是字符型,你可以具体上机用type 或 isinstance内置函数试一下
>>> temp=input('请输入一个数字:')
请输入一个数字:3
>>> print(temp)
3
>>> type(temp)
<class 'str'> 用print打印的时候会自动去掉‘’,而它实际上仍然是字符型的,所以后面需要int()进行强制类型转换。 用input()得到的是一个字符型的值,此时temp就是字符型。
print()显示的时候,字符型不加''。
变量类型判定,请用type()函数。 我觉得有两种可能性:
1.当用print()函数打印时会自动去掉''引号,但其实其数据类型仍未字符串,你可以直接输入temp试试看,结果是数字还是字符串。
2.你的Python版本可能是Python2,在Python2中input()函数返回值即为你输入的类型,然而在Python3中input()函数返回的数据皆为字符串类型。 print()返回的值就是一个字符串嘛,不信你看:
C:\Users\Administrator\Pictures\Saved Pictures\捕获6.PNG input() 默认接收到的是字符串类型,
至于print()结果,只是不打印''’而已。
进行数值运算时必须要int()转换为整数类型
你可以在交互界面验证下
temp = input('输入数字:')
type(temp) input返回的是字符型,所以temp是字符型。通过input输入的是字符型,而字符型是无法与整形做比较的,所以需要将其转换为整形,才使用了int函数 它是字符型
>>> a=input()
10
>>> type(a)
<class 'str'>
>>> 这个应该是Python2和Python3之间的区别问题,在Python3中input函数返回所有数值的类型均为字符串类型,所以需要用int函数进行转换,而Python2中,用intput函数得到的值的类型要根据你输入的数值类型来判断,如果你输入的是字符串,得到的值的类型自然是字符串类型,如果是整形数字,得到的值自然是int类型,以此类推 thexiosi 发表于 2017-3-5 11:18
input的输入是字符型,你可以具体上机用type 或 isinstance内置函数试一下
>>> temp=input('请输入一个 ...
谢谢你
18813034116 发表于 2017-3-5 14:59
这个应该是Python2和Python3之间的区别问题,在Python3中input函数返回所有数值的类型均为字符串类型,所以 ...
{:10_254:} 五行缺五行 发表于 2017-3-4 22:27
input返回的是字符型,所以temp是字符型。通过input输入的是字符型,而字符型是无法与整形做比较的,所以需 ...
{:7_113:} sajforever 发表于 2017-3-5 16:43
谢谢你
不客气{:5_109:}
页:
[1]