Python:range不';增加
我必须写一个程序,显示一列公斤和一列磅,从1公斤开始到99公斤结束,每一步增加2公斤 我有以下代码,range()适用于磅部分,但不适用于千克部分。每公斤的重量始终为1Python:range不';增加,python,for-loop,Python,For Loop,我必须写一个程序,显示一列公斤和一列磅,从1公斤开始到99公斤结束,每一步增加2公斤 我有以下代码,range()适用于磅部分,但不适用于千克部分。每公斤的重量始终为1 for k in range(1,3,1): print("Kilograms","Pounds",sep=" ") for i in range(1,101,2): for j in range(2,223,3): print(i,"",j,sep="
for k in range(1,3,1):
print("Kilograms","Pounds",sep=" ")
for i in range(1,101,2):
for j in range(2,223,3):
print(i,"",j,sep=" ")
break
break
还有,为什么我不能在这个范围内使用浮动,因为官方规定它是2.2磅
提前谢谢 因为您在循环中使用了
break
with
在python中,循环结束时除了减少缩进外,没有其他任何内容。请删除break
语句,然后重试
break
语句无条件结束当前循环。比如说,
s = 0
for i in range(1, 101):
s = s + i
将使s
等于5050。但是,如果你在某个地方打破它,比如
s = 0
for i in range(1, 101):
s = s + i
if i == 5:
break
s
将在15时停止增加
正如评论员所说,您应该从一些教程中学习python的基础知识。网上有很多免费教程。别着急
此外,如果你想在范围内使用浮动步,请看;或者更确切地说,请参阅下面的评论以获得简单的答案。试试这个
import numpy as np
KG_TO_LBS = 2.20462
KG = np.arange(0,100,2.20462)
print("Kilograms", "Pounds")
for kg in KG:
print(kg, kg/KG_TO_LBS)
您可能必须将打印输出更改为您喜欢的格式。首先,删除中断,因为这些会过早地结束循环迭代。其次,为什么要对循环使用嵌套的
对于您所描述的,甚至不需要嵌套循环。只需使用一个循环即可。使用range()
一次,以2
的增量逐步遍历值1
至99
根据您的描述,这样的事情应该足够了:
for i in range(1, 100, 2): # for the numbers 1-99, going by twos
print('pounds: {} kilograms: {}'.format(i, i * 2.2)) # print pounds, print kilograms
您似乎对python中的循环感到困惑,他内置了range()
函数。我建议查看官方Python文档,了解以下两方面:
休息是为了什么?Break语句将结束一个循环。此外,range使用整数,这就是为什么不能使用float的原因。第二,一旦你做到了,试着自己解决你的问题,我想你会成功的。如果您仍然需要帮助,请回到这里编辑您的问题,并显示几行您的预期输出。@DanielMcLaury Yes。他的解释真的无济于事。我仍然不知道他的代码应该做什么。我相当确定他真正想要的只是范围(1100,2):print(I,I*2.2)中的I。最好在这样的问题中提供提示,而不是提供自己版本的代码来解决OP的问题。尽管numpy不是内置的,如果你想使用这种方法,这是值得注意的。