【问题标题】:How to separate for loop from if如何将for循环与if分开
【发布时间】:2020-10-15 22:08:26
【问题描述】:
ok = 1
while ok==1:
    sum = 0
    count = 0    
    a = int(input("Ievadiet, cik skaitļu būs virknē: "))
    
    for i in range( 0, a):
        N = int(input("Ievadiet veselu skaitli: "))
        if N%2 == 1:
            count+= 1
            sum += N
        
        if count != 0:
            average = sum / count
            print("Virknes nepāra skaitļu vidējā artimētiskā vērtība ir: ", average)
        else:
            print("Nevar aprēķināt nepāra skaitļu vidējo aritmētisko.")
    ok = int(input(" Vai turpināt (1) vai beigt (0)?"))

这个程序应该要求输入链中有多少个数字,然后计算这些数字之间存在的奇数的算术平均值。如何将“if count != 0”与“if N%2 == 1”分开,这样程序将停止计算每个数字的算术平均值,但只有在写入链的所有数字时才会计算。

【问题讨论】:

    标签: python arrays for-loop if-statement


    【解决方案1】:

    请检查此代码,看看是否是您想要达到的。我只是取消了最后一个 if...else 块的缩进,所以它首先获取所有数字,然后显示平均值。

    ok = 1
    while ok == 1:
        sum = 0
        count = 0
        a = int(input("Ievadiet, cik skaitļu būs virknē: "))
    
        for i in range(0, a):
            N = int(input("Ievadiet veselu skaitli: "))
            if N % 2 == 1:
                count += 1
                sum += N
    
        if count != 0:
            average = sum / count
            print("Virknes nepāra skaitļu vidējā artimētiskā vērtība ir: ", average)
        else:
            print("Nevar aprēķināt nepāra skaitļu vidējo aritmētisko.")
        ok = int(input(" Vai turpināt (1) vai beigt (0)?"))
    

    玩得开心:)

    【讨论】:

    • 它只是相同的代码,但它的工作,变化在哪里,我看不到......
    • 是的,它是相同的代码,但请查看if count != 0: ... else: print(...) 部分及其缩进:) 我只是将它们移回了一步。现在for 循环和if...else 块缩进是相同的,但在您的代码中,if...else 块嵌套在if 块中。再次检查,如果仍有问题,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 2018-03-27
    • 2012-08-18
    • 2021-09-18
    • 2022-06-13
    • 2013-07-18
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多