作者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
推 darkgerm:a = int(input("請輸入符號a:")) # b 也一樣 01/12 00:28
→ mikapauli:你這是在比string的hash value 01/12 00:29
→ yukiko:哇 正確了...非常感謝兩位高手^^/ 01/12 00:32
→ yukiko:不過這樣輸入 abc 跟def 就不能比大小,所以要加if條件囉? 01/12 00:34
→ darkgerm:回二樓,string compare 是用字典序~ 01/12 00:34
→ yukiko:python寫起來好舒服>< 比C跟Java可愛多了~ 01/12 00:35
→ darkgerm:你要先決定,你想比的是 "字串" 還是 "數字" 01/12 00:36
→ yukiko:~練習寫if 判斷輸入字串還是數字再比較 (給自己找題目練)^^ 01/12 00:40
→ uranusjr:這程式在 Python 2 就會對了 :p 01/12 00:42
→ yukiko:我用py333 01/12 00:45
→ yukiko:用isdigit()來偵測輸入值 數字沒問題 負數居然false ..暈 01/12 01:24
→ darkgerm:負號不是數字啊XD 判斷是否為數字可以用 int() 直接轉 01/12 01:45
→ darkgerm:再用 try except 去接 ValueError 01/12 01:46
→ darkgerm:python2 會對是因為 py2 的 input 是 eval(input()) 01/12 01:49
→ darkgerm:因為直接輸入丟 eval() 有危險,所以 py3 移掉了 01/12 01:50