[問題] 超新手問題(if,elif,else)
看書自學 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!
百思不得其解,請指點一下,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.200.90 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1569403574.A.D76.html
推
09/25 17:30,
5年前
, 1F
09/25 17:30, 1F
RESTART: C:\Users\xubpc\AppData\Local\Programs\Python\Python37\practice1.py
1
Greetings!
在 IDLE 裡面看到的狀況是這樣,就是正常的輸入1囉
※ 編輯: xubpcl (223.140.200.90 臺灣), 09/25/2019 17:34:52
推
09/25 17:53,
5年前
, 2F
09/25 17:53, 2F
可以了,感謝!
推
09/25 17:55,
5年前
, 3F
09/25 17:55, 3F
哈哈,我懂了,我剛才也翻到書上寫的
如果是 spam = input(),那麼不管輸入的是什麼,都會被當作字串儲存
感謝提醒!
→
09/25 17:55,
5年前
, 4F
09/25 17:55, 4F
→
09/25 17:56,
5年前
, 5F
09/25 17:56, 5F
了解,感謝!
※ 編輯: xubpcl (223.140.200.90 臺灣), 09/25/2019 18:00:58
推
09/25 18:00,
5年前
, 6F
09/25 18:00, 6F
推
09/25 18:01,
5年前
, 7F
09/25 18:01, 7F
input()的說明在第一章
第二章在教 flow control
學了後面忘了前面XDDD
※ 編輯: xubpcl (223.140.200.90 臺灣), 09/25/2019 18:03:46
我把 code 修改成這樣,好像更符合題目要求:
spam = input()
if spam == '1':
print('Hello')
elif spam == '2':
print('Howdy')
else:
print('Greetings!')
原本的 code,輸入字串會出現錯誤訊息
修改後的,除了1、2以外的所有輸入都會跑出 Greetings!
再次感謝樓上先進們的指點!
※ 編輯: xubpcl (223.140.200.90 臺灣), 09/25/2019 18:09:37
推
09/26 05:07,
5年前
, 8F
09/26 05:07, 8F
→
09/26 05:48,
5年前
, 9F
09/26 05:48, 9F
推
09/27 08:29,
5年前
, 10F
09/27 08:29, 10F
→
09/27 16:05,
5年前
, 11F
09/27 16:05, 11F
→
09/27 16:07,
5年前
, 12F
09/27 16:07, 12F
→
09/27 16:11,
5年前
, 13F
09/27 16:11, 13F
→
09/28 04:52,
5年前
, 14F
09/28 04:52, 14F
Python 近期熱門文章
PTT數位生活區 即時熱門文章