[問題] 超新手問題(if,elif,else)

作者: xubpcl (搞笑藝人)   2019-09-25 17:26:11
看書自學 python
沒想到第一個習題就卡關
題目:
Write code that prints Hello if 1 is stored in spam,
prints Howdy if 2 is stored in spam, and prints Greetings!
if anything else is stored in spam.
我寫的 code:
spam = input()
if spam == 1:
print('Hello')
elif spam == 2:
print('Howdy')
else:
print('Greetings!')
問題:
程式可以順利執行,但不管我輸入1、2還是其他數字
出來的結果都是 Greetings!
百思不得其解,請指點一下,感謝!
作者: sma1033 (死馬)   2019-09-25 17:30:00
你輸入的是字串?
作者: jjoojjoo123 (阿陽)   2019-09-25 17:53:00
spam=int(input())
作者: sma1033 (死馬)   2019-09-25 17:55:00
你知道字串是什麼嗎? XD搞清楚字串跟數字的差別你就知道問題在哪了
作者: CGSBN (成功鍵盤俠)   2019-09-25 17:56:00
input預設是輸入字串 要轉成整數型態
作者: automaton   2019-09-25 18:00:00
樓上正解
作者: max36067 (圍巾喵)   2019-09-25 18:01:00
先搞清楚input是輸入str 就知道了~
作者: TaiwanDuLi (臺灣獨立)   2019-09-26 05:07:00
請問您是看哪本書自學?
作者: xubpcl (搞笑藝人)   2019-09-26 05:48:00
"Automate The Boring Stuff with Python", Al Sweigart
作者: tvassic (green)   2019-09-27 08:29:00
因為輸入是字串
作者: yummy8765 (tsuyoku)   2019-09-27 16:05:00
字串的比對不建議用== 可以用a.equals(b)這種形式這個在字串那章應該會學到 不急 加油抱歉剛剛試過好像我記錯了@@可以忽略我講的
作者: s312580 (waiting)   2019-09-28 04:52:00
加油

Links booklink

Contact Us: admin [ a t ] ucptt.com