Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:range不';增加_Python_For Loop - Fatal编程技术网

Python:range不';增加

Python: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="

我必须写一个程序,显示一列公斤和一列磅,从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="        ")
       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不是内置的,如果你想使用这种方法,这是值得注意的。