请教关于零基础002的类型转换
temp = input("输入我心里想的一个数字 ")if temp == 8:
print("猜对了")
else:
print("猜错了")
print ("游戏结束")
这个例子如果把guess = int(temp)给删掉
输入8也是错的
这是为什么呢
但是课后习题的打印名字
不转化直接就可以输出名字
请问input函数输入的东西到底是什么类型呢
非常感谢
因为在Python看来,字符串'8'和整型8是不一样的东西,input接受的是字符串,所以需要先int变为整型
先说说input,这个函数是返回字符串(str)类型的,两个数要比较,类型一定要相同
所以你后面有两种改法,其一:
if temp == '8' :# 8这也加上引号,因为input返回的是字符串类型
其二就是把input返回的值转成整型(int):
temp = int(input("输入我心里想的一个数字 ")) # 这里这样就可以直接在输出时转成整型
再讲讲其他的:
这个例子如果把guess = int(temp)给删掉
输入8也是错的
这是为什么呢
因为你前面还没删之前guess = int(temp)是把temp转化成整型(其实就是整数)赋值给的guess
if temp == 8:
而你这判断还是用的temp而不是用guess,所以不管你删没删,你永远都不可能会对的
你应该改成:
if guess == 8:
这个时候 guess才有被后面的代码用上 老八秘制 发表于 2020-5-1 23:40
因为在Python看来,字符串'8'和整型8是不一样的东西,input接受的是字符串,所以需要先int变为整型
明白了,非常感谢这么晚还解惑 老八秘制 发表于 2020-5-1 23:40
因为在Python看来,字符串'8'和整型8是不一样的东西,input接受的是字符串,所以需要先int变为整型
不好意思将就这个贴子再请教你一个问题
比如
name = input(请输入名字)
print(“你好”,name)
这样输出结果是
你好 XXX
中间有一个空格,显得不自然,有没有办法让它不加那个空格呢 5695585 发表于 2020-5-2 00:08
不好意思将就这个贴子再请教你一个问题
比如
name = input('请输入你的姓名:')
print('你好'+name)
老八可能睡觉了,我帮你解答吧,用+号拼接就可以解决 5695585 发表于 2020-5-2 00:08
不好意思将就这个贴子再请教你一个问题
比如
首先你这个代码有问题,input里需要加引号,写程序不能用中文符号
你这个问题可以用sep=''来解决,例如:
>>> name = input("请输入名字:")
请输入名字:小甲鱼
>>> print("你好", name, sep='')
你好小甲鱼 Twilight6 发表于 2020-5-2 00:11
老八可能睡觉了,我帮你解答吧,用+号拼接就可以解决
你真以为我会那么早睡觉吗{:10_256:} 老八秘制 发表于 2020-5-2 00:14
你真以为我会那么早睡觉吗
哈哈哈 老八早点休息,我溜了,最佳给你{:10_245:} 老八秘制 发表于 2020-5-2 00:14
你真以为我会那么早睡觉吗
看来鱼C夜猫子多得是{:10_250:} input输出的只是字符串,而不是数字。
虽然你输入的是个数字,但是输出的只是个字符串形式的数字。
就好比你书本上写着“苹果”似的,虽然它是个苹果,但是不能拿来吃。
input输出的由于是字符串,需要转换一下,int一下,就变成了数字类型。 Twilight6 发表于 2020-5-2 00:18
哈哈哈 老八早点休息,我溜了,最佳给你
岛 市 美 食 家 求最佳{:10_254:}
页:
[1]