在Python中打印x次

在Python中打印x次,python,python-3.x,Python,Python 3.x,我正在尝试用Python打印一个表,其中我想打印所需的列的数量,这取决于用户 我要求用户输入开始时间和结束时间,以及他们希望它增加多少。一旦我得到这些值,我想打印一个列中有时间的表,但是列的数量将根据用户输入的内容而改变 我搞不懂的是如何只打印所需的列数 下面是我到目前为止所拥有的,但它离我想要的还很远 initial = int(input("Initial investment amount: ")) max_initial = int(input("Maximum initial inve

我正在尝试用Python打印一个表,其中我想打印所需的列的数量,这取决于用户

我要求用户输入开始时间和结束时间,以及他们希望它增加多少。一旦我得到这些值,我想打印一个列中有时间的表,但是列的数量将根据用户输入的内容而改变

我搞不懂的是如何只打印所需的列数

下面是我到目前为止所拥有的,但它离我想要的还很远

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)