[问题] 新手请教 负数比大小

楼主: yukiko (Dark Unicorn)   2014-01-12 00:20:28
各位 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()
作者: darkgerm (黑骏)   2014-01-12 00:28:00
a = int(input("请输入符号a:")) # b 也一样
作者: mikapauli (桜花)   2014-01-12 00:29:00
你这是在比string的hash value
楼主: yukiko (Dark Unicorn)   2014-01-12 00:32:00
哇 正确了...非常感谢两位高手^^/不过这样输入 abc 跟def 就不能比大小,所以要加if条件囉?
作者: darkgerm (黑骏)   2014-01-12 00:34:00
回二楼,string compare 是用字典序~
楼主: yukiko (Dark Unicorn)   2014-01-12 00:35:00
python写起来好舒服>< 比C跟Java可爱多了~
作者: darkgerm (黑骏)   2014-01-12 00:36:00
你要先决定,你想比的是 "字串" 还是 "数字"
楼主: yukiko (Dark Unicorn)   2014-01-12 00:40:00
~练习写if 判断输入字串还是数字再比较 (给自己找题目练)^^
作者: uranusjr (←這人是超級笨蛋)   2014-01-12 00:42:00
这程式在 Python 2 就会对了 :p
楼主: yukiko (Dark Unicorn)   2014-01-12 00:45:00
我用py333用isdigit()来侦测输入值 数字没问题 负数居然false ..晕
作者: darkgerm (黑骏)   2014-01-12 01:45:00
负号不是数字啊XD 判断是否为数字可以用 int() 直接转再用 try except 去接 ValueErrorhttp://goo.gl/GARY7python2 会对是因为 py2 的 input 是 eval(input())因为直接输入丢 eval() 有危险,所以 py3 移掉了

Links booklink

Contact Us: admin [ a t ] ucptt.com