Python中调用int()转换字符串为整数后,变量仍为字符串报错求助
问题分析与解决
嘿,我一眼就看出你代码里的小问题啦😉先看看你的代码:
a = '4' int (a) if a > 2: print( "It's working" )
核心问题就是**int(a)这一步只是完成了类型转换,但没把转换后的结果存回变量a**!Python里的int()函数是返回一个新的整数对象,而不会直接修改原来的变量。所以执行完int(a)后,变量a依然是最初的字符串'4',这时候拿字符串和整数2做比较,Python会直接报错——它不知道该怎么把这两种不同类型的数据放在一起比较呀。
两种修正方式任你选:
方式1:把转换结果存回a
直接将int(a)的结果重新赋值给a,让a变成整数类型:
a = '4' a = int(a) # 把转换后的整数存回变量a if a > 2: print("It's working")
方式2:直接在比较时用转换结果
如果不想修改原来的a,也可以在判断条件里直接使用int(a)的转换结果:
a = '4' if int(a) > 2: # 直接用转换后的整数和2比较 print("It's working")
这样改完之后,程序就能正常执行,输出你想要的结果啦~
内容的提问来源于stack exchange,提问作者Lisandro Dalla Costa
相关产品推荐
相关产品推荐

