Crossin的编程教室
标题: 习题9 疑问 [打印本页]
作者: felixd2004 时间: 2020-1-11 21:57
标题: 习题9 疑问
以下是我刚上手写的代码,
# coding: gbk
print('输入三个数字,输出这三个数的最大值')
a = input()
b = input()
c = input()
if a>b:
if a>c:
print(a)
if c>a:
print(c)
if b>a:
if b>c:
print(b)
if c>b:
print(c)
如果开始赋值a/b/c,不加int(),当输入3、90、111,输出为90,原因是什么?;加int()输出正确,但不能输入带小数点的4.6值进去,用参考答案会有同样问题。
虽然可以通过保留输入数字后两位小数点的代码解决,但好奇原因
作者: crossin先生 时间: 2020-1-13 00:09
int是转成整数类型
不加int是字符串,+是吧字符拼在一起
要用小数可以用 float 替代 int,表示小数类型
作者: felixd2004 时间: 2020-1-13 15:57
crossin先生 发表于 2020-1-13 00:09
int是转成整数类型
不加int是字符串,+是吧字符拼在一起
要用小数可以用 float 替代 int,表示小数类型 ...
先生,你的参考答案是加了int的,但你提供的比大小参数是4、4.6、3,输入4.6会报错的,是不是要改下参考答案成float。
另外不加int是字符串,我用3、90、111三个数字,输出的一直都是90,无论是用参考答案的代码,去掉int()后 或是用我以上的代码,90比3跟111都大么?
作者: crossin先生 时间: 2020-1-14 16:08
felixd2004 发表于 2020-1-13 15:57
先生,你的参考答案是加了int的,但你提供的比大小参数是4、4.6、3,输入4.6会报错的,是不是要改下参考 ...
嗯,答案已改。要处理小数就要用 float
字符串比大小是按字母顺序,不是按大小,字符9比3和1都更靠后
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) |
Powered by Discuz! X2.5 |