【发布时间】:2020-04-24 19:40:46
【问题描述】:
我之前发布过这个问题,但是给出一个没有帮助的答案,它被关闭了:/ 所以我再次发布它,看看我是否可以获得不同的答案。我正在做一个练习题,我输入车辆的速度和该速度的小时数。输出应该是一个表格,列出每小时的距离。我写的代码做了我想做的,但它打印输出两次,我不知道为什么。 这是我的代码:
def main():
another_speed = 'y'
while another_speed == 'y' or another_speed == 'Y':
calc_distance()
another_speed = input('Do you have another speed?')
def calc_distance():
speed = float(input('What speed were you going?'))
hour = int(input('How many hours were you traveling at that speed for?'))
print("Hour\tDistance Traveled (mi)")
print('---------------------------')
for hour in range(1, hour +1):
distance = speed * hour
print(hour,'\t',distance)
main()
****************
OUTPUT:
What speed were you going? 40(ENTER)
How many hours were you traveling at that speed for? 4 (ENTER)
Hour Distance Traveled (mi) ------
--------------------------- |
1 40.0
2 80.0. | <--- All i want to print
3 120.0
4 160.0. -----
Hour Distance Traveled (mi)
---------------------------
1 40.0
2 80.0 <--- Not this again!
3 120.0
4 160.0
【问题讨论】:
-
我无法重现您的输出。我只看到打印一次所需的输出。
-
嗯。我正在使用 Jupiter notebook 并刷新了我的内核,它仍然显示这样的输出..不知道出了什么问题。
-
我尝试在 JupyterLab 和经典 Jupyter Notebook 的笔记本中运行您的代码。仍然没有重现您的错误?您使用的是哪个版本的 Jupyter Notebook?
-
您可能还想将您在 here 发布的代码复制并粘贴到笔记本中,以确保您的问题不是来自运行较旧的代码的版本。
-
我附上了我如何回答下面的问题,也许你可以回答我的第二个问题。谢谢!
标签: python loops for-loop printing while-loop