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

看板Python作者 (搞笑藝人)時間5年前 (2019/09/25 17:26), 5年前編輯推噓7(707)
留言14則, 10人參與, 5年前最新討論串1/1
看書自學 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
spam=int(input())
09/25 17:53, 2F
可以了,感謝!

09/25 17:55, 5年前 , 3F
你知道字串是什麼嗎? XD
09/25 17:55, 3F
哈哈,我懂了,我剛才也翻到書上寫的 如果是 spam = input(),那麼不管輸入的是什麼,都會被當作字串儲存 感謝提醒!

09/25 17:55, 5年前 , 4F
搞清楚字串跟數字的差別你就知道問題在哪了
09/25 17:55, 4F

09/25 17:56, 5年前 , 5F
input預設是輸入字串 要轉成整數型態
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
先搞清楚input是輸入str 就知道了~
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
"Automate The Boring Stuff with Python", Al Sweigart
09/26 05:48, 9F

09/27 08:29, 5年前 , 10F
因為輸入是字串
09/27 08:29, 10F

09/27 16:05, 5年前 , 11F
字串的比對不建議用== 可以用a.equals(b)這種形式
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
文章代碼(AID): #1TYpAsrs (Python)
文章代碼(AID): #1TYpAsrs (Python)