数据验证Python 2.7

2024-04-26 18:16:53 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我为即将到来的计算初步代码编辑的代码。 这是家庭作业,我不明白为什么它不起作用。有什么建议吗?谢谢

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)

Tags: thekey代码true编辑inputrawdef
1条回答
网友
1楼 · 发布于 2024-04-26 18:16:53

你应该只做key = raw_input(...)而不是key = int(raw_input(...))

对于前者,key是一个字符串,直到try使其成为整数。对于后者,您尝试立即从中构造一个int,而不使用任何异常处理来保护该尝试。在


还有一些其他的逻辑缺陷。现在,您的无限while循环不执行任何操作,例如。(不管怎样,第一次通过后你都会回来)。将return语句移动到break所在的位置可能会*使其执行您想要的操作。另外,您不会对您构造的int做任何操作(i),尽管还不清楚您是否应该返回它还是key。在

*我在假设你的程序在这里应该做什么。。。在

相关问题 更多 >