鱼C论坛

 找回密码
 立即注册
查看: 963|回复: 9

python的if问题

[复制链接]
发表于 2018-11-16 18:03:37 | 显示全部楼层 |阅读模式

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

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

x
广大的鱼油,请教个问题




guess =input('输入一个数字')
if guess ==9:
        print('答对了')
else:
        if guess >9:
                print('大了')
        else:
                print('小了')
                
print('结束了,拜拜')

输入一个数字2
Traceback (most recent call last):
  File "F:/python  666666666666666666/练习/guess.py", line 5, in <module>
    if guess >9:
TypeError: '>' not supported between instances of 'str' and 'int'
>>>


报错了,这是什么问题?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-11-17 01:36:41 | 显示全部楼层
看报错原因,‘str’ and 'int',字符串类型和整数类型是不可以进行比较的,所以报了typeerror(类型错误)所以楼主需要吧guess换成整数哦
guess =int(input('输入一个数字'))

if guess ==9:
        print('答对了')
else:
        if guess >9:
                print('大了')
        else:
                print('小了')
               
print('结束了,拜拜')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-17 01:38:01 | 显示全部楼层
忽视 发表于 2018-11-17 01:36
看报错原因,‘str’ and 'int',字符串类型和整数类型是不可以进行比较的,所以报了typeerror(类型错误)所 ...

int(input('****'))
表示将括号内的字符串转换为整数
建议楼主加上一个判断用户输入是否为整数的代码
加油
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2018-11-17 08:02:54 From FishC Mobile | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-17 08:21:42 | 显示全部楼层
guess = int(input("输入一个数字")) # 使用int()函数将字符串转换为整型。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-17 14:14:31 | 显示全部楼层
guess = int(input("输入一个数字")) ,,注意要用int转化输入的数字,,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-17 16:47:00 From FishC Mobile | 显示全部楼层
简白说你写的if条件的9默认是字符串,跟输出的guess值(整数型)是不能比较的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-17 22:48:30 | 显示全部楼层
楼上都给你做了解释,我这边就不再赘述。我直接把修改后的程序给你贴出来。
。。。。。。。你的程序。。。。。。。。。。。
if guess ==9:
        print('答对了')
else:
        if guess >9:
                print('大了')
        else:
                print('小了')
               
print('结束了,拜拜')
。。。。。。。。。。。。。。。。。。。。。。
。。。。。。修改后的程序。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。
temp =input('输入一个数字')
guess = int(temp)
if guess ==9:
        print('答对了')
else:
        if guess >9:
                print('大了')
        else:
                print('小了')
               
print('结束了,拜拜')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-18 11:31:18 | 显示全部楼层
错误已经告诉你了,字符串和数字没法比较。  解决办法就是把字符串用int转换成数字。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-18 12:43:02 | 显示全部楼层
换个思路,字符串也是可以比大小的,你可以把9改成"9",就会比较他的ascill码,也能运行,当然本质还是input函数输出的是字符串而非整数,类型不同
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-10 23:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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