[问题] 超新手问题(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