繁体   English   中英

如何在while循环中使用多个条件? (Python)

[英]How do i use multiple conditions within a while loop? (Python)

import sys
import math
import random

def main():
    # your code goes here
    
    j = [1,1,2,3,5]
    GMDN(j)
    
    
def GMDN(x):

    n = 5
    x = [1,1,2,3,5]
    arithmetic = (x[0] + x[1] + x[2] + x[3] + x[4])/n
    geometric = (x[0] * x[1] * x[2] * x[3] * x[4])**(1./n)
    median = x[int((n)/2)]
    my_list = [arithmetic,geometric,median]
    my_list.sort()
    print(my_list)
    while(my_list[0] != my_list[1] and my_list[1] != my_list[2]):
        n1 = (my_list[0] + my_list[1] + my_list[2])/3
        n2 = (my_list[0] * my_list[1] * my_list[2])**(1./3)
        n3 = my_list[int((3)/2)]
        my_list = [n1,n2,n3]
        my_list.sort()
        print(my_list)
        

if __name__ == '__main__':
    main()

我正在尝试编写一个使用带有多个条件的while循环的代码,但是每当我运行代码时,它不会同时处理这两个条件,而只会处理一个。 有谁知道为什么会这样?

while(my_list[0]:= my_list[1] and my_list[1] != my_list[2]):此代码将处理这两个条件。

我认为您缺少的是您正在使用 static 值。 my_list[0]将始终返回系列中的第一项。 如果您想在 go 通过迭代时达到系列中的另一个元素,则需要使用动态值。 如果您有意使用 static 值(根据您在迭代中的计算可能是这种情况),那么您的计算很可能没有按预期工作。

编辑:根据上述评论,如果您的意思是您需要使用or代替and的一个或另一个条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM