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

看板Python作者 (咩咕哩喵)時間12年前 (2014/01/12 00:20), 編輯推噓1(1015)
留言16則, 4人參與, 最新討論串1/2 (看更多)
各位 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

01/12 00:28, , 1F
a = int(input("請輸入符號a:")) # b 也一樣
01/12 00:28, 1F

01/12 00:29, , 2F
你這是在比string的hash value
01/12 00:29, 2F

01/12 00:32, , 3F
哇 正確了...非常感謝兩位高手^^/
01/12 00:32, 3F

01/12 00:34, , 4F
不過這樣輸入 abc 跟def 就不能比大小,所以要加if條件囉?
01/12 00:34, 4F

01/12 00:34, , 5F
回二樓,string compare 是用字典序~
01/12 00:34, 5F

01/12 00:35, , 6F
python寫起來好舒服>< 比C跟Java可愛多了~
01/12 00:35, 6F

01/12 00:36, , 7F
你要先決定,你想比的是 "字串" 還是 "數字"
01/12 00:36, 7F

01/12 00:40, , 8F
~練習寫if 判斷輸入字串還是數字再比較 (給自己找題目練)^^
01/12 00:40, 8F

01/12 00:42, , 9F
這程式在 Python 2 就會對了 :p
01/12 00:42, 9F

01/12 00:45, , 10F
我用py333
01/12 00:45, 10F

01/12 01:24, , 11F
用isdigit()來偵測輸入值 數字沒問題 負數居然false ..暈
01/12 01:24, 11F

01/12 01:45, , 12F
負號不是數字啊XD 判斷是否為數字可以用 int() 直接轉
01/12 01:45, 12F

01/12 01:46, , 13F
再用 try except 去接 ValueError
01/12 01:46, 13F

01/12 01:46, , 14F
01/12 01:46, 14F

01/12 01:49, , 15F
python2 會對是因為 py2 的 input 是 eval(input())
01/12 01:49, 15F

01/12 01:50, , 16F
因為直接輸入丟 eval() 有危險,所以 py3 移掉了
01/12 01:50, 16F
文章代碼(AID): #1IqMzF1d (Python)
文章代碼(AID): #1IqMzF1d (Python)