设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 11088|回复: 3
打印 上一主题 下一主题

习题9 疑问

[复制链接]

1

主题

0

好友

15

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2020-1-11 21:57:27 |只看该作者 |倒序浏览
以下是我刚上手写的代码,

# 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值进去,用参考答案会有同样问题。
虽然可以通过保留输入数字后两位小数点的代码解决,但好奇原因
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2020-1-13 00:09:05 |只看该作者
int是转成整数类型
不加int是字符串,+是吧字符拼在一起
要用小数可以用 float 替代 int,表示小数类型
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

15

积分

新手上路

Rank: 1

板凳
发表于 2020-1-13 15:57:36 |只看该作者
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都大么?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2020-1-14 16:08:55 |只看该作者
felixd2004 发表于 2020-1-13 15:57
先生,你的参考答案是加了int的,但你提供的比大小参数是4、4.6、3,输入4.6会报错的,是不是要改下参考 ...

嗯,答案已改。要处理小数就要用 float

字符串比大小是按字母顺序,不是按大小,字符9比3和1都更靠后
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 21:25 , Processed in 0.023085 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部