这是我写的代码,在考虑年龄和选举类型后,尝试显示某人是否能够投票的消息,但在输入选举类型后,它将停止。 有人能帮忙吗? 这是我的密码:
def Validation():
if election == 'EU' or election == 'UK':
if age < 110 and age > 18:
print('You are eligable to vote in this election')
else:
print('You are not eligable to vote in this election')
if election is 'Scottish' or election is'local':
if age < 110 and age > 16:
print('You are eligable to vote in this election')
else:
print('You are not eligable to vote in this election')
免责声明:以下不是我通常做的事情,也不是本网站通常发生的事情。它远远超出了问题的范围,几乎可以归结为101或教程。你知道吗
您的代码有多个问题,并且没有一个问题可以通过发现错误并指出错误来轻松修复。整个解决问题的方法需要从头开始重新研究。您试图一次做很多事情,这总是导致代码出现互锁问题。你知道吗
让我们把你想做的事情分解一下。你知道吗
更基本的是,你想这样做:
这些步骤可以用伪代码表示:
因此,我们有一个无休止的循环,不断地要求用户提供一个值,只有当值正常时,我们才会返回它。你知道吗
要请求整数,函数可以如下所示:
要请求一个属于某个范围的整数,比如年龄值,我们可以使用相同的模式并使用
input_int()
函数:注意
else:
分支如何在第一个错误条目之后通知用户有效范围。你知道吗现在假设我们有
dict
的投票规则,如我的另一个答案所示:我们可以编写另一个函数,让用户通过键选择其中一个。函数很好地遵循既定模式:
现在,我们已经准备好了所有基本部件,可以将它们组合在一起:
作为一个练习,您可以创建一个验证函数,但是每个输入步骤的设计方式都是自验证的,因此最终的验证步骤实际上是不必要的。你知道吗
用
==
代替is
。还要注意==
应该匹配每个字符,这样才是真的(这有点奇怪,但请记住这一点),因此,如果您有一个名为“Local”的选择,并且您正试图与“Local”进行比较,那就不一样了。你知道吗您的代码应该如下所示:
除了@Fusseldieb编写的内容之外,还要考虑将配置与验证函数分离。你知道吗
规则可以这样表达:
这样一来,验证函数就变短了,而且与当前的方法相比,如果规则集变大,它不需要任何更改。你知道吗
相关问题 更多 >
编程相关推荐