作者yukiko (咩咕哩喵)
看板Python
标题[问题] 新手请教 负数比大小
时间Sun Jan 12 00:20:28 2014
各位 python高手大家好:
我是py新手,用以下的例子练习函数。目前执行都正确,但遇到负数的时候就
会出错,例如当我输入-15 跟 -55比大小,正确答案是 -15 > -55,但是程式
会输出 -55,请问当遇到负号时,程式要怎麽修改才正确> <
def big(a, b):
if a>b:
return a
else:
return b
a=input("请输入符号a:")
b=input("请输入符号b:")
print("印出大的符号:",big(a,b))
print()
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.171.163.242
1F:推 darkgerm:a = int(input("请输入符号a:")) # b 也一样 01/12 00:28
2F:→ mikapauli:你这是在比string的hash value 01/12 00:29
3F:→ yukiko:哇 正确了...非常感谢两位高手^^/ 01/12 00:32
4F:→ yukiko:不过这样输入 abc 跟def 就不能比大小,所以要加if条件罗? 01/12 00:34
5F:→ darkgerm:回二楼,string compare 是用字典序~ 01/12 00:34
6F:→ yukiko:python写起来好舒服>< 比C跟Java可爱多了~ 01/12 00:35
7F:→ darkgerm:你要先决定,你想比的是 "字串" 还是 "数字" 01/12 00:36
8F:→ yukiko:~练习写if 判断输入字串还是数字再比较 (给自己找题目练)^^ 01/12 00:40
9F:→ uranusjr:这程式在 Python 2 就会对了 :p 01/12 00:42
10F:→ yukiko:我用py333 01/12 00:45
11F:→ yukiko:用isdigit()来侦测输入值 数字没问题 负数居然false ..晕 01/12 01:24
12F:→ darkgerm:负号不是数字啊XD 判断是否为数字可以用 int() 直接转 01/12 01:45
13F:→ darkgerm:再用 try except 去接 ValueError 01/12 01:46
15F:→ darkgerm:python2 会对是因为 py2 的 input 是 eval(input()) 01/12 01:49
16F:→ darkgerm:因为直接输入丢 eval() 有危险,所以 py3 移掉了 01/12 01:50