我想制作一个程序,为LaTeX中的每个部分打印 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()
编辑: 我通过同时使用to 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("")
答案 0 :(得分:0)
这可以通过同时使用两个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("")