[问题] 新手请益一题简单的if statement

楼主: AmigoSafin   2019-06-03 01:46:45
大家好
新手想请教一题简单的题目
但不知为何我的答案总是Z
似乎没有成功loop
还请大家赐教 感谢!
题目:
Write a program that takes a character as input (a string of length 1), which
you should assume is an upper-case character; the output should be the next
character in the alphabet. If the input is 'Z', your output should be 'A'.
(You will need to use an if statement. )
我的code:
for i in range(65,90):
input=chr(i)
if input!="Z":
output=chr(ord(input)+1)
else:
output=="A"
print (output)
注:因为65-90就是A到Z的index
但我的code是不论他给我input为多少
我的program output都是Z
已经试了一两小时都还没找到原因
所以想请大家帮忙题点我一下
感恩
感谢~
作者: iphone2003 (307)   2019-06-03 01:57:00
妳的循环跑完后,input会是'Y',所以在if-else那边就把它转成'Z'了题目要的应该是希望你用input()接收使用者输入的字符
作者: XperiaZ6C (真●安卓轻旗舰)   2019-06-03 08:46:00
你的else多打一个=了而且你不能用for循环,这样input值永远都是chr(90)然后尽量不要用input来当变量名称
作者: tysh710320 (鲁酸菌)   2019-06-03 09:26:00
是永远是chr(89)才对 你可以像一楼说的用输入的方式或者用random.randint 来从这区间取一个整数
作者: XperiaZ6C (真●安卓轻旗舰)   2019-06-03 09:38:00
对也,是89,谢7楼纠正
作者: jack85408540 (小贱)   2019-06-03 13:19:00
因为你的if else没缩排 所以程式是先跑完for循环才进if判断
作者: tysh710320 (鲁酸菌)   2019-06-03 13:25:00
其实一样,假如if,else缩排 print还是在外面只印出Z假如连print也缩排 变成印出B---Z(不会有A)
楼主: AmigoSafin   2019-06-08 07:22:00
谢谢大家的帮忙~~感谢:)

Links booklink

Contact Us: admin [ a t ] ucptt.com