鱼C论坛

 找回密码
 立即注册
查看: 1246|回复: 12

[已解决]python报错了,求助大佬

[复制链接]
发表于 2021-2-16 16:40:33 | 显示全部楼层 |阅读模式

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

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

x
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    a = "small"
if a > b:
        b = "small"
else:
    print("a = b")
运行之后,输入数字会显示报错
最佳答案
2021-2-16 16:49:33
本帖最后由 qq1151985918 于 2021-2-16 16:51 编辑
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    a = "small"
    print("a",a )#加个 print 避免看不到操作
elif a > b:
    #这里才是报错的根本原因,用 elif ,否则执行过上一句 if 后仍然会执行本句 if
    #反而会报错,而 elif 就不会,如果执行了上句就不会再执行本句
    #另外缩进也有些小问题
    b = "small"
    print("b",b)
else:
    print("a = b")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-16 16:43:15 | 显示全部楼层
???
哪里报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-16 16:45:10 | 显示全部楼层
qiuyouzhi 发表于 2021-2-16 16:43
???
哪里报错了

TypeError: '>' not supported between instances of 'str' and 'int'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:47:00 | 显示全部楼层
Dr.阿巴阿巴 发表于 2021-2-16 16:45
TypeError: '>' not supported between instances of 'str' and 'int'

你输入的啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:47:10 | 显示全部楼层
报什么错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:48:58 | 显示全部楼层
是不是输入的引号中间带的数字?
不要这样做。直接输入数字就好了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:49:33 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qq1151985918 于 2021-2-16 16:51 编辑
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    a = "small"
    print("a",a )#加个 print 避免看不到操作
elif a > b:
    #这里才是报错的根本原因,用 elif ,否则执行过上一句 if 后仍然会执行本句 if
    #反而会报错,而 elif 就不会,如果执行了上句就不会再执行本句
    #另外缩进也有些小问题
    b = "small"
    print("b",b)
else:
    print("a = b")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-16 16:50:57 | 显示全部楼层
a输的2
b输的3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:53:02 | 显示全部楼层
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    a = print("a small")
elif a > b:
    b = print("b small")
else:
    print("a = b")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:54:42 | 显示全部楼层
本帖最后由 qq1151985918 于 2021-2-16 17:10 编辑
qiuyouzhi 发表于 2021-2-16 16:51
??不会报错啊
俩 if 条件矛盾是没有问题的


如果我 a = 1,b = 2 那么会执行 a < b ,就会重新给 a 赋值  a = "small"  
同样 会执行 a = "small"  b = 2
同样会 执行 a > b
字符串和数字比较当然会出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:55:11 | 显示全部楼层
qq1151985918 发表于 2021-2-16 16:54
如果我 a = 1,b = 2 那么会执行 a < b ,就会重新给 a 赋值  a = "small"  
同样 会执行 a = "small"   ...

哦,明白了
我的问题,抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:55:30 | 显示全部楼层
是因为如果 a < b 然后 a 的值被改成字符串"small",然后再比较是否 a > b 这时 a 是一个字符串不能与整数比较,所以要做到 a < b 比较完之后就不比较,所以是
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    a = "small"
else:
    if a > b:
        b = "small"
    else:
        print("a = b")

简写就是
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    a = "small"
elif a > b:
    b = "small"
else:
    print("a = b")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-16 16:56:13 | 显示全部楼层
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))

if a < b:
    print("a < b")
if a > b:
    print("a > b")
if a == b:
    print("a = b")



你用的是int类型, a = "small"和b = "small"不是int类型的,所以就 会报错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 14:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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