在Python中打印x次
我正在尝试用Python打印一个表,其中我想打印所需的列的数量,这取决于用户 我要求用户输入开始时间和结束时间,以及他们希望它增加多少。一旦我得到这些值,我想打印一个列中有时间的表,但是列的数量将根据用户输入的内容而改变 我搞不懂的是如何只打印所需的列数 下面是我到目前为止所拥有的,但它离我想要的还很远在Python中打印x次,python,python-3.x,Python,Python 3.x,我正在尝试用Python打印一个表,其中我想打印所需的列的数量,这取决于用户 我要求用户输入开始时间和结束时间,以及他们希望它增加多少。一旦我得到这些值,我想打印一个列中有时间的表,但是列的数量将根据用户输入的内容而改变 我搞不懂的是如何只打印所需的列数 下面是我到目前为止所拥有的,但它离我想要的还很远 initial = int(input("Initial investment amount: ")) max_initial = int(input("Maximum initial inve
initial = int(input("Initial investment amount: "))
max_initial = int(input("Maximum initial investment amount: "))
increment_initial = int(input("Value to be used to increment the initial investment amount: "))
min_time = int(input("Minimum time period of investment: "))
max_time = int(input("Maximum time period of investment: "))
increment_time = int(input("Value to be used to increment the time period: "))
year = []
for x in range(min_time, max_time + 1, increment_time):
year.append(x)
time_period = len(year)
n = []
for i in range(time_period):
j = year[i]
n.append(j)
print ("{0} {1}".format("Years: ", ""))
所以我想做的是,使用这些minu_time、max_time和increment_time变量来打印适当数量的列
例如:
如果用户输入min_time=1、max_time=5、increment_initial=1,那么我希望有1到5的列。然后在下一次,如果用户输入min_time=1,max_time=10,increment_initial=1,我希望有1到10的列
我希望我已经说得够清楚了,这样您就可以理解我的要求。有两种不同的方法可以用不同的列数构建一行输出。哪一个最好可能取决于你在更大范围内实际做了什么 一种简单的方法是在列值上循环,并对每个列进行
print
调用,将关键字only参数end
设置为换行以外的值。这将导致它跳过打印输出末尾的常规换行符。要在行尾获得换行符,需要在打印完所有列后进行常规的print()
调用
另一种选择是为列构建单个字符串,可能使用str.join
。根据您想要格式化的方式,这可能是“”.format(str(x)表示x年)
或者更复杂的东西
下面是这两个方面的代码:
years = range(min_time, max_time + 1, increment_time)
for year in years:
print(year, end=" ") # prints a space after each value, rather than a newline
print() # add a newline at the end of the row
row_str = " ".join(str(year) for year in years) # join year strings with spaces
print(row_str) # prints whole row in one step, with a newline at the end
在您当前的方法中,什么不起作用?我对您的代码有点困惑<代码>年份和
n
都将等同于列表(范围(最小时间、最大时间+1、增量时间))
,并且不清楚要在给定行上打印什么。你想要”。加入(str(x)表示年内的x)
还是什么?哈哈,你目前是否在coursera注册?我认为最后几行与你的问题无关。您在n
中复制year
,然后打印“Years:”
。。。从我对你问题的理解来看,你只想对范围内的x(最小时间、最大时间、增量时间)执行:打印(x)