[問題] 新手請教 負數比大小

作者: 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