我一直在尝试用python创建一个简单的程序,其中要求用户输入他们的邮政编码,直到它同时包含字母和数字。 这是我目前掌握的代码:
num = False
letter = False
while num == False and letter == False:
postcode = input("what is your postcode? ")
for i in postcode:
if i.isalpha:
letter = True
if i.isdigit:
num = True
当我运行程序时,它不会要求我提供我的邮政编码,即使它是错的。我怎样才能解决这个问题
你必须调用这些方法
i.isalpha
只是method
对象(它总是真实的)。只调用它将产生您正在寻找的真正的bool
实际上,您可以使其更加简洁,同时不必手动调用方法,也不必维护/重置所有这些变量:
我花了一段时间才看到所有的问题
您不会每次都重置
num
和letter
的值在原始文本中,您正在更改迭代的字符串
正如其他人指出的,您需要使用
()
调用函数不过这是一次很好的尝试。有很多方法可以做到这一点。我的只是一个“修复”
相关问题 更多 >
编程相关推荐