793578477 发表于 2020-6-23 18:30:30

关于Python基础整型int功能多余的问题

在做小甲鱼课后练习题时,自我感觉一行语句多余:num=int(temp)

但是删除之后。运行错误,为什么呢?

感谢各位指点:

正确代码temp=input("请输入1到100的数字")
num=int(temp)
if 1<=num<=100:
    print("好漂亮")
else:
    print("好丑")

错误代码为什么呢?
temp=input("请输入1到100的数字")
if 1<=temp<=100:
    print("好漂亮")
else:
    print("好丑')

错误代码感觉更容易理解啊,为什么不正确呢?感谢指点,感谢

793578477 发表于 2020-6-23 18:31:53

感觉自己没有理解int的功能,整型整数,害

heidern0612 发表于 2020-6-23 18:35:50

本帖最后由 heidern0612 于 2020-6-23 18:37 编辑

793578477 发表于 2020-6-23 18:31
感觉自己没有理解int的功能,整型整数,害

因为input输出类型是字符串,不是数字。

打个比方:字符串就相当于书本上的人这个字,而int类型转换的就是纯粹的人。

你能说书本上的“人”是实际的人吗?既然不是,那自然也无法跟现实中的人进行比较了。

Twilight6 发表于 2020-6-23 18:36:52

本帖最后由 Twilight6 于 2020-6-23 18:40 编辑


你要了解 input 函数的具体作用,他是用来接收用户输入并将输入的数据转化为字符串(str) 返回

而 int 函数 是将其他类型的数值 转为 整型,也就是整数

两种不同类型的值 不能用来比较大小 , 所以导致你的代码报错

而且就算你的代码转化了 还是会报错,因为你第二个代码的else 下面的代码块 print

print("好丑')

单双引号搭配使用了,这个是错误的语法,在语句中 单双引号都要成对存在的哈,但是 单双引号在 Python 是没有功能上的差别的哈

你的 print 要么全用单引号要么全用双引号不能一单一双使用哈~

还有, int 将字符串转为整型时候只能转化纯数字字符串,因为加入你的字符串还有 汉字,或者字母,那么我们肯定不能转化为整数的咯~


小甲鱼的铁粉 发表于 2020-6-23 18:37:46

{:10_249:}来学习一下

793578477 发表于 2020-6-23 18:44:43

感谢各位大哥解答,谢谢啦

793578477 发表于 2020-6-23 18:45:21

heidern0612 发表于 2020-6-23 18:35
因为input输出类型是字符串,不是数字。

打个比方:字符串就相当于书本上的人这个字,而int类型转换 ...

谢谢大哥

793578477 发表于 2020-6-23 18:45:52

Twilight6 发表于 2020-6-23 18:36
你要了解 input 函数的具体作用,他是用来接收用户输入并将输入的数据转化为字符串(str) 返回

而 int...

谢谢大哥

Python初学者8号 发表于 2020-6-23 19:43:46

input是默认输入的是字符串的呢,字符串当然不可以和数字比较啊,所以要转化
页: [1]
查看完整版本: 关于Python基础整型int功能多余的问题