我想制作一个程序,为 LaTeX 中的每个部分打印n 个部分和x_1, x_2,..., x_n子部分。我的意思是我将一个变量命名为 numsec,它会询问我想要多少个部分,这很简单。然后,变量 numsubsec 询问我想要多少个小节。现在该输入的答案应该是这样的:假设我想要 3 个部分,我对小节的回答必须是一个 3 位数字,以便第一个数字确定第一部分中应该有多少个小节,依此类推。例如,numsec 可以是 3,而 numsubsec 可以是 101。这意味着第 1 秒为 1 亚秒,第 2 秒为 0 亚秒,第 3 秒为 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("")
这可以通过同时使用两个 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("")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句