鱼C论坛

 找回密码
 立即注册
查看: 1486|回复: 11

[已解决]小白课后作业求助

[复制链接]
发表于 2022-3-19 10:11:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
while type(temp) != type(1):
    print("抱歉,输入不合法,", end='')
    temp = input("请输入一个整数:")

我想请教一下,while type(temp) != type(1):  这一行代码,type(temp) != type(1)  这是什么表达方式啊,尤其是后边的type(1)指的是
还希望各位大佬不吝赐教
最佳答案
2022-3-19 10:13:35
type 可以获取对象的类型,type(1) 没必要,直接写 int 就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-19 10:13:35 | 显示全部楼层    本楼为最佳答案   
type 可以获取对象的类型,type(1) 没必要,直接写 int 就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-19 10:21:08 From FishC Mobile | 显示全部楼层
type(1) 难道不是测试数字1的类型,是否是int
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 11:04:21 | 显示全部楼层
wp231957 发表于 2022-3-19 10:21
type(1) 难道不是测试数字1的类型,是否是int

还想问一下,他这个是必须得从1开始测试嘛,从别的数字可以嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-19 11:06:03 From FishC Mobile | 显示全部楼层
神奇的二哈 发表于 2022-3-19 11:04
还想问一下,他这个是必须得从1开始测试嘛,从别的数字可以嘛

当然是随便一个整数了,你要写2587也是可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 11:08:51 | 显示全部楼层
isdkz 发表于 2022-3-19 10:13
type 可以获取对象的类型,type(1) 没必要,直接写 int 就行

嗷嗷明白,那如果使用type(1)这种形式的话,里边这个数字1是不是可以替换成别的任意数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 11:09:22 | 显示全部楼层
wp231957 发表于 2022-3-19 11:06
当然是随便一个整数了,你要写2587也是可以的

好的,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-19 11:09:50 | 显示全部楼层
神奇的二哈 发表于 2022-3-19 11:08
嗷嗷明白,那如果使用type(1)这种形式的话,里边这个数字1是不是可以替换成别的任意数字

对的,只要是整数,type 得到的结果都是 int
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 11:12:05 | 显示全部楼层
isdkz 发表于 2022-3-19 11:09
对的,只要是整数,type 得到的结果都是 int

明白了,十分感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-19 11:16:40 | 显示全部楼层


但是你的代码有一个问题,就是通过 input 获取到的都是 字符串,

所以你的条件永远不会被满足,因为不论你输入的是什么,type(temp) 得到的都是 str,

所以建议你把 type(temp) != type(1) 改成 not temp.isdigit(),

字符串的 isdigit 方法就是用来判断字符串是不是整数字符串的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 11:26:21 | 显示全部楼层
大佬还想问一下,他后边还一个类似的,代码是这样的
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
while not isinstance(temp, int):
    print("抱歉,输入不合法,", end='')
    temp = input("请输入一个整数:")

他这一行代码中while not isinstance(temp, int):  ,not用法我明白,他后边有个isinstance,表示的是什么意思,这是个什么用法,括号里(temp, int)这是什么表达方式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 14:37:07 | 显示全部楼层
isdkz 发表于 2022-3-19 11:16
但是你的代码有一个问题,就是通过 input 获取到的都是 字符串,

所以你的条件永远不会被满足,因为 ...

通透,十分感谢明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 01:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表