检查数字是否为偶数的While循环:python2.7

2024-04-19 06:10:09 发布

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

我有一个while循环来检查用户是否输入了一个偶数。在

pop_size = int(input('Enter an even population size:'))

if pop_size % 2 == 0:
     print int(input('Enter an organism length'))
while pop_size % 2 != 0:
    print int(input('Enter an EVEN population'))
    break 
length = int(input('Enter an organism length'))

我不知道该把长度放在哪里,也不知道该怎么休息。在

^{pr2}$

这就是它的回报。在

但如果我这么做:

Enter an even population size: 3
Enter an EVEN population 3
3
Enter an organism length 2
[[1, 0], [1, 0], [0, 0]]

即使代码不是偶数,它仍然可以构成一个有机体。在

我需要得到的输出是:

Enter an even population size: 3
Enter an EVEN population 3
Enter an EVEN population 5
Enter an EVEN population 4
Enter an organism length 2
[[1, 0], [1, 0], [0, 0]] 

感谢解释和链接:)


Tags: aninputsize检查用户poplengthinteven
3条回答

您不需要显式地从while循环中break。在while循环中更新pop_size就足够了。它可能看起来像:

pop_size = int(input('Enter an even population size:'))
while pop_size % 2 != 0:
    pop_size = int(input('Enter an EVEN population'))
length = int(input('Enter an organism length'))

似乎语句的顺序有点混乱。如果你保持语句的显示顺序,那就更容易了。对于您的示例,它看起来像这样:

pop_size = int(input('Enter an even population size:'))
while pop_size % 2 != 0:
    pop_size=int(input('Enter an EVEN population'))

length = int(input('Enter an organism length'))

首先,我们接受用户的输入。但我们会继续从他们那里得到一个号码。一旦输入的数字是偶数,我们将离开while循环并继续。这使我们的逻辑更简单,更容易阅读。在

有几件事不对劲。第一个if语句不应该在while循环之外,当您要求用户输入偶数填充时,该值不会存储在任何地方。这意味着无论用户输入什么,while循环都将中断。我不知道Python,但这就是Java中的代码。基本上是一样的,只是做一些必要的改变。在

    int in, length;
    boolean var = true;
    Scanner input = new Scanner(System.in);
    System.out.print("Enter an even population size: ");
    in = input.nextInt();

    while(var){
            if(in % 2 == 0){
                break;
            }
            else{
                System.out.print("Enter an EVEN number: ");
                in = input.nextInt();
            }
    }
    System.out.print("Enter organism length: ");
    length = input.nextInt();

Java代码的结果如下:

^{pr2}$

相关问题 更多 >