繁体   English   中英

闯入 for 循环 python 程序

[英]break in for loop python program

我尝试制作程序,如果程序总和 1000 程序将打印完成,但如果我们输入时的数字 = 0,程序返回错误。 我尝试在 python 中中断,但我没有得到正确的 output。 我需要你的意见。

this my program
banyak = int(input('Masukan banyak angka yang ingin dimasukkan = '))
for j in range(banyak):
    A = int(input("enter the number of 1 : "))
    B = int(input("enter the number of 2 : "))
    C = int(input("enter the number  of 3 : "))
    if(A + B + C == 1000):
        print("finished")
        break
    elif(A==0 or B==0 or C==0):
        print("error")
        break

程序应输入:

100
0

output:

error

输入:

400
300
300

output:

finished

最简单的方法是在每次输入后使用assert语句,如果不正确,它会引发一个AssertionError ,您可以捕获它。 assert的第二个元素是异常消息,可以在except部分中使用

banyak = int(input('Masukan banyak angka yang ingin dimasukkan = '))
for j in range(banyak):
    print(f"Round {j + 1}/{banyak}")
    try:
        A = int(input("enter the number of 1 : "))
        assert A != 0, "A is 0"
        B = int(input("enter the number of 2 : "))
        assert B != 0, "B is 0"
        C = int(input("enter the number  of 3 : "))
        assert C != 0, "C is 0"
        if A + B + C == 1000:
            print("finished")
            break
    except AssertionError as e:
        print("Error:", e)
        break

Masukan banyak angka yang ingin dimasukkan = 5
Round 1/5
enter the number of 1 : 200
enter the number of 2 : 300
enter the number  of 3 : 100
Round 2/5
enter the number of 1 : 400
enter the number of 2 : 0
Error: B is 0

当你输入

1    # banyak
100  # A
0    # B

那么程序的当前行是

    C = int(input("enter the number  of 3 : "))

所以它不能破裂。 你可以试试这个

banyak = int(input('Masukan banyak angka yang ingin dimasukkan = '))

for j in range(banyak):
    A = int(input("enter the number of 1 : "))
    if A == 0:
        print("error")

    B = int(input("enter the number of 2 : "))
    if B == 0:
        print("error")

    C = int(input("enter the number  of 3 : "))
    if C == 0:
        print("error")


    if A + B + C == 1000:
        print("finished")
        break

但是太傻了。 你可以试试这个

banyak = int(input('Masukan banyak angka yang ingin dimasukkan = '))

for j in range(banyak):

    number_list = []
    for _ in range(3):
        input_number = int(input("enter the number : "))
        if input_number == 0:
            print("error")
            break
        number_list.append(input_number)


    if sum(number_list) == 1000:
        print("finished")
        break

    print('=============')

暂无
暂无

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

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