在python中确定和计算奇数和偶数的最佳实践是什么

在python中确定和计算奇数和偶数的最佳实践是什么,python,Python,对于我最近在研究中完成的评估,我有一段代码,要求用户输入四个整数。然后程序必须对条目中的奇数和偶数进行计数和显示。代码如下: # xx assignment 02 question 2 a = int(input("Enter an integer number: ")) b = int(input("Enter an integer number: ")) c = int(input("Enter an integer number: ")) d = int(input("Enter an i

对于我最近在研究中完成的评估,我有一段代码,要求用户输入四个整数。然后程序必须对条目中的奇数和偶数进行计数和显示。代码如下:

# xx assignment 02 question 2
a = int(input("Enter an integer number: "))
b = int(input("Enter an integer number: "))
c = int(input("Enter an integer number: "))
d = int(input("Enter an integer number: "))
e = 0
o = 0

if a % 2 == 0:
    e = e + 1
else:
    o = o + 1
if b % 2 == 0:
    e = e + 1
else:
    o = o + 1
if c % 2 == 0:
    e = e + 1
else:
    o = o + 1
if d % 2 == 0:
    e = e + 1
else:
    o = o + 1

print("Number of even numbers entered: ", e)
print("Number of odd numbers entered: ", o)
我的代码工作得很好,我不是在寻找修复代码的方法,因为它可以工作。我想知道这项工作被标记的原因是否合理

标记的原因是“宁可使用for循环,也不要使用一系列if-else语句!!!!”

现在,我明白了效率是编程的一个关键部分,然而我得到的分数是否定的,尽管任务的目标已经实现

由于我刚刚开始学习Python,我是否遗漏了一些东西,即当您想要比较用户的输入,然后执行给定的任务以接收所需的输出时,是否有一种标准方法要求您使用for循环


注意:我发布这篇文章并不是为了向那些只是在追随他们过去几年所做的事情的人证明这一点,因为我正在学习,我可能是错的,我想知道为什么

您的代码违反了通常称为或的编程原则。这样做的目的是避免代码的重复复制和粘贴,这样就更难发现错误或从一行到另一行的细微变化,从而使维护更加困难


您将基本上相同的代码重复了四次,当包含一次代码的范围(4):中的i的循环将达到相同的效果。这也会使修改代码变得更容易。如果你需要10个数字,或者100个数字,或者需要用户告诉你需要多少数字,那么更改循环是微不足道的,而更改代码将是一件非常痛苦的事情。

我假设你最近上了一堂关于循环的课,所以如果老师希望你编写使用这些知识的代码,这是公平的。如果我是老师,我也会对这个代码感到恼火

编程时的好经验法则是——不要重复自己。你的代码做了四次完全相同的事情。您没有编写流程并重复if四次,而是复制了四份代码


以这种方式编写代码表明,您不了解这一原理,也没有利用计算机的能力为您做样板工作。

如果您必须测试100个数字,该怎么办?这并不是说您是Python新手,这意味着您还不了解编程。你可能会考虑阅读一些关于循环的教程,然后再试一次。我们不会为你做那个作业,重要的是你要理解。@LouisSugy OP不是要求我们做作业,它已经被标记了。我的意思是,它被标记错了,所以他应该尝试用循环再做一次。但是当然有些答案已经给出了密码嘿,我把暗影游侠的答案投了更高的票,它对干燥原理和三法则给出了很好的建议。我只是想强调,阅读本答案中给出的链接比其他答案给出的代码更重要,并试图理解为什么作业被标记为错误;)<对于范围内的i(len(4))只会循环一次,因为'len(4)`1@RonKalian当前位置当你发布时,我已经解决了这个问题。它甚至不会运行一次,它会引发一个
TypeError
,我只是搞错了。:-)