这是我为即将到来的计算初步代码编辑的代码。 这是家庭作业,我不明白为什么它不起作用。有什么建议吗?谢谢
def GetKeyForCaesarCipher():
while True:
key = int(raw_input('Enter the amount that shifts the plaintext alphabet to the ciphertext alphabet: '))
try:
i = int(key)
break
except ValueError:
print 'please enter an interger'
return (key)
你应该只做
key = raw_input(...)
而不是key = int(raw_input(...))
对于前者,
key
是一个字符串,直到try
使其成为整数。对于后者,您尝试立即从中构造一个int
,而不使用任何异常处理来保护该尝试。在还有一些其他的逻辑缺陷。现在,您的无限
while
循环不执行任何操作,例如。(不管怎样,第一次通过后你都会回来)。将return
语句移动到break
所在的位置可能会*使其执行您想要的操作。另外,您不会对您构造的int
做任何操作(i
),尽管还不清楚您是否应该返回它还是key
。在*我在假设你的程序在这里应该做什么。。。在
相关问题 更多 >
编程相关推荐