zwj_xjy 发表于 2020-6-18 17:06:53

第005讲动手作业第一题

请问一下,005讲的课后动手作业第一个里面有一个guess = int(temp),想问一下这句的作用是什么,isdigit()这个方法本身就已经判断了输入值是否为数字了,不是的话就提示要输入整数,所以为啥还要加一句guess = int(temp)?我把这句注释之后运行程序貌似也没有出现什么问题啊

Twilight6 发表于 2020-6-18 17:09:36



因为 temp 接受的是input函数的返回值,而input 函数返回的是 字符串 , 字符串 '1' 是不等于 数字 1 的

所以要通过int 函数转为整数 ,而isdigit() 只是单纯的判断字符串内是不是全是 数值 ,并不会把他转为数字类型的值

猪猪虾 发表于 2020-6-18 17:10:08

你把你的代码贴上来

封号 发表于 2020-6-18 17:11:31

input的类型是strint的作用是把temp变成整数型求{:10_254:}最佳

Twilight6 发表于 2020-6-18 17:12:59



我把这句注释之后运行程序貌似也没有出现什么问题啊

如果你后面 if 判断的数字都是 加上 引号的 那么确实没什么问题,但是如果你 if 后面加上的都是 数字 那么拥有不能比较大小了

但是两个字符串可以比较大小 ,是通过逐个比较他们的 ASCII 码值大小 后面小甲鱼会提到~

今天的我更强了 发表于 2020-6-18 17:13:29

isdigit()是判断字符串仅有数字构成,类型仍然为字符串 所以需要转换为整数型即guess = int(temp)

冰河星云 发表于 2020-6-18 17:23:43

因为这样才能把用户输入字符串转换成整数
页: [1]
查看完整版本: 第005讲动手作业第一题