两个变量相同但范围不同的循环

2024-09-29 19:31:00 发布

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

我想制作一个程序,为乳胶中的每个部分打印n部分和x_1,x_2,…,x_n子部分。我的意思是我命名了一个变量numsec,它询问我需要多少节,非常简单。然后,一个变量numsubsec询问我需要多少子部分。现在输入的答案应该是这样的:假设我想要3个小节,我对小节的答案必须是一个3位数的数字,因此第一位数决定了第一小节中应该有多少小节,依此类推。例如,numsec可以是3,numsubsec可以是101。这意味着第一秒1个小节,第二秒0个小节,第三秒1个小节。然而,我不知道如何让Python打印出这个确切的答案。这是我的密码:

def sections(numsec, numsubsec):
    for n, i in range(1, numsec+1), range(0,len(numsubsec)):
        print("")
        print("\section{Opgave "+str(n)+"}")
        print("")
        print("\subsection{}" * int(numsubsec[i]))



def runprogram():
    numsec = int(input("How many sections? "))
    numsubsec = input("How many subsections? ")
    sections(numsec,numsubsec)

runprogram()

编辑: 我通过同时使用两个变量for循环解决了这个问题:

def sections(numsec, numsubsec):
    numbers = []
    numbers.extend(numsubsec) #Splitting the string numsubsec in to a list of its digits
    print("")
    print("Preamble")
    print("")
    for n,i in zip(range(1, numsec+1),range(0,numsec)): #zip the ranges
        print("")
        print("\section{Opgave "+str(n)+"}")
        print("")
        for x in range(int(numsubsec[i])):
            print("\subsection{}")
            print("")

Tags: 答案infordefsectionrangeintprint
1条回答
网友
1楼 · 发布于 2024-09-29 19:31:00

这可以通过同时使用两个for循环并压缩范围来解决:

def sections(numsec, numsubsec):
    numbers = []
    numbers.extend(numsubsec) #Splitting the string numsubsec in to a list of its digits
    print("")
    print("Preamble")
    print("")
    for n,i in zip(range(1, numsec+1),range(0,numsec)): #zip the ranges
        print("")
        print("\section{Opgave "+str(n)+"}")
        print("")
        for x in range(int(numsubsec[i])):
            print("\subsection{}")
            print("")

相关问题 更多 >

    热门问题