在python保龄球程序的while循环中输入一个数字

在python保龄球程序的while循环中输入一个数字,python,Python,我正在做保龄球节目。我正在制作一个程序,将我输入的数字记录在一个列表中 rolls1 = [] rolls2 = [] rolls3 = [] frame = [] i = 0 while i < 10: i += 1 n1 = int(input("Roll 1: ")) rolls1.append(n1) if i < 10: if n1 == 10: rolls2.append(0)

我正在做保龄球节目。我正在制作一个程序,将我输入的数字记录在一个列表中

rolls1 = []
rolls2 = []
rolls3 = []
frame = []
i = 0
while i < 10:
    i += 1
    n1 = int(input("Roll 1: "))
    rolls1.append(n1)
    if i < 10:
        if n1 == 10:
            rolls2.append(0)
        else:
            n2 = int(input("Roll 2: "))
            rolls2.append(n2)
    elif i == 10:
        if (n1 == 10):
            n2 = int(input("Roll 2: "))
            rolls2.append(n2)
            n3 = int(input("Roll 3: "))
            rolls3.append(n3)
        else:
            if (n1 + n2 == 10):
                n2 = int(input("Roll 2: "))
                rolls2.append(n2)
                n3 = int(input("Roll 3: "))
                rolls3.append(n3)
            else:
                n2 = int(input("Roll 2: "))
                rolls2.append(n2)
    
rolls1=[]
rolls2=[]
rolls3=[]
帧=[]
i=0
当我<10时:
i+=1
n1=整数(输入(“滚动1:”)
rolls1.append(n1)
如果i<10:
如果n1==10:
rolls2.append(0)
其他:
n2=int(输入(“第2卷:”)
rolls2.append(n2)
elif i==10:
如果(n1==10):
n2=int(输入(“第2卷:”)
rolls2.append(n2)
n3=int(输入(“第三卷:”)
rolls3.append(n3)
其他:
如果(n1+n2==10):
n2=int(输入(“第2卷:”)
rolls2.append(n2)
n3=int(输入(“第三卷:”)
rolls3.append(n3)
其他:
n2=int(输入(“第2卷:”)
rolls2.append(n2)

在最后一帧中,即
i==10
,当我输入
n1=8
n2=2
,程序应该继续在
n3
中输入一个数字。但是,程序停止在
n2
,因此程序的另一部分出现错误。在
else
内部创建
if
似乎不是解决方案。如何解决此问题?

I==10
时,
n2
变量未定义。因此,程序无法正确执行if语句
n1+n2==10
。程序可能会转到最后一个else语句。只需在最后一个if-else语句之外输入
n2

rolls1 = []
rolls2 = []
rolls3 = []
frame = []
i = 0
while i < 10:
    i += 1
    n1 = int(input("Roll 1: "))
    rolls1.append(n1)
    if i < 10:
        if n1 == 10:
            rolls2.append(0)
        else:
            n2 = int(input("Roll 2: "))
            rolls2.append(n2)
    elif i == 10:
        n2 = int(input("Roll 2: "))
        if (n1 == 10):
            rolls2.append(n2)
            n3 = int(input("Roll 3: "))
            rolls3.append(n3)
        else:
            if (n1 + n2 == 10):
                rolls2.append(n2)
                n3 = int(input("Roll 3: "))
                rolls3.append(n3)
            else:
                rolls2.append(n2)
rolls1=[]
rolls2=[]
rolls3=[]
帧=[]
i=0
当我<10时:
i+=1
n1=整数(输入(“滚动1:”)
rolls1.append(n1)
如果i<10:
如果n1==10:
rolls2.append(0)
其他:
n2=int(输入(“第2卷:”)
rolls2.append(n2)
elif i==10:
n2=int(输入(“第2卷:”)
如果(n1==10):
rolls2.append(n2)
n3=int(输入(“第三卷:”)
rolls3.append(n3)
其他:
如果(n1+n2==10):
rolls2.append(n2)
n3=int(输入(“第三卷:”)
rolls3.append(n3)
其他:
rolls2.append(n2)

当i=10时,未定义n2变量。因此,程序无法正确执行if语句n1+n2==10。程序可能会转到最后一个else语句。非常感谢。我还没有意识到我的错误,我通过从if中取出n2来修复它。是的,我只是在你评论之前做出了回答哈哈。