为什么这个代码我自己打程序不会报错
但是小甲鱼出的作业说这个代码是错的,但是我自己打出来没有问题啊,这是为什么,求大佬的帮助谢谢!!! num1和num2是字符串,后面却拿字符串进行比较,这是一个bug解决:
1、2行改成
num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: ")) 你会发现10比9小{:5_97:} 临时号 发表于 2022-7-26 22:23
num1和num2是字符串,后面却拿字符串进行比较,这是一个bug
解决:
1、2行改成
可以理解为input() 函数获取的只能说是字符串类型,而因为字符串之间不能进行比较所以是错的,所以要先用int函数转换吗 ZhKQYu 发表于 2022-7-26 22:26
你会发现10比9小
还不懂原理 为什么字符串之间比较起来就会运行成这样……能解释解释吗小白一个 PKR 发表于 2022-7-26 22:27
可以理解为input() 函数获取的只能说是字符串类型,而因为字符串之间不能进行比较所以是错的,所以要先用 ...
字符串比较大小也是可以的,不会报错,但字符串之间的大小比较 就是 比较字符的 Unicode 编码
这当然不符合需求,所以要int转型,比较数字大小 PKR 发表于 2022-7-26 22:27
可以理解为input() 函数获取的只能说是字符串类型,而因为字符串之间不能进行比较所以是错的,所以要先用 ...
字符串能比较,但你会发现9比10大,因为字符串之间的比较与整数之间的比较是不一样的,所以我们需要将字符串转换为整数 青出于蓝 发表于 2022-7-26 22:31
字符串比较大小也是可以的,不会报错,但字符串之间的大小比较 就是 比较字符的 Unicode 编码
这当然 ...
但是怎么看出number1是字符串的,不是要带双引号吗,为什么就能知道他是字符串了 临时号 发表于 2022-7-26 22:31
字符串能比较,但你会发现9比10大,因为字符串之间的比较与整数之间的比较是不一样的,所以我们需要将字符串 ...
怎么看出来number是字符串的区分不了啊啊啊 PKR 发表于 2022-7-26 22:35
但是怎么看出number1是字符串的,不是要带双引号吗,为什么就能知道他是字符串了
input函数返回值默认为str类型(即字符串) PKR 发表于 2022-7-26 22:38
怎么看出来number是字符串的区分不了啊啊啊
input函数接受的输入都是字符串类型的 字符串之间的比较是比较编码的大小,你可以用ord()和chr()这两个内置方法来查看 ZhKQYu 发表于 2022-7-26 22:45
字符串之间的比较是比较编码的大小,你可以用ord()和chr()这两个内置方法来查看
而且是逐位比较,一旦发现一个比另一个大,就会又返回值 青出于蓝 发表于 2022-7-26 22:40
input函数返回值默认为str类型(即字符串)
input函数括号里面的不是才叫字符串吗,就是那个“请输入一个数字”,我是想说是怎么知道num1是字符串的,麻烦说的通俗点,新手不太懂😂 青出于蓝 发表于 2022-7-26 22:40
input函数返回值默认为str类型(即字符串)
不是要被引号引起来的才叫字符串吗??? PKR 发表于 2022-7-27 12:18
不是要被引号引起来的才叫字符串吗???
不是的~
举个例子 str(1) 也是字符串~
input同理 青出于蓝 发表于 2022-7-27 12:27
不是的~
举个例子 str(1) 也是字符串~
input同理
所以总之就是 num1=input( )中num为字符串,input函数括号里的也是字符串是吗,所以要先用int函数将括号的转化成数字形式是吗,这种理解可以吗{:5_92:} PKR 发表于 2022-7-27 15:06
所以总之就是 num1=input( )中num为字符串,input函数括号里的也是字符串是吗,所以要先用int函数将括 ...
可以~ 青出于蓝 发表于 2022-7-27 15:09
可以~
谢谢!!
PKR 发表于 2022-7-27 15:14
谢谢!!
问题已解决别忘了设置最佳哈~
页:
[1]