range() 函数中的负数 - 如何从正数打印到负数?
Negative numbers in range() function - how to print from positive to negative numbers?
我正在尝试创建一个函数来打印带有标记轴的板。这是我打印 y 轴的代码。
y = [-1, 4]
y_axis = range(y[0], y[1]+1)
for i in y_axis: # rows
print(y_axis[i])
这是我得到的输出:
4
-1
0
1
2
3
为什么它不从 y[0] 开始并以整数递增直到 y[1]+1 ?我认为那是 range() 函数的输出。
对于我的项目,我需要这段代码来输出以下内容:
4
3
2
1
0
-1
我不知道如何获得我想要的结果,我已经尝试了几个小时了!非常感谢任何帮助,谢谢
编辑:棘手的部分是这应该能够以正确的顺序打印任何类型的范围:如果我使用负步,它可能无法对所有正值等正确工作
像这样的方法不起作用:
-1 -> 4: 范围(y[0], y[1]+1)
4 -> -1: 范围(y[1], y[0]-1, -1)
我需要一个通用的解决方案。它可能与 enumerate() 函数有关吗?
这是您要查找的内容:
y = [-1, 4]
y_axis = range(y[1], y[0]-1, -1)
for i in y_axis:
print(i)
您的原始代码有两个问题:
打印应该是元素,而不是索引列表。
您的范围应从 4(第一个元素)开始到 -2(第二个元素)结束。为了确保递减,请使用函数范围的第三个参数:step。 step=-1 从第一个元素到最后一个元素递减。您可以通过执行以下操作来测试项目范围输出的顺序:
print([i for i in range(4, -2, -1)])
希望对您有所帮助!干杯! :)
我正在尝试创建一个函数来打印带有标记轴的板。这是我打印 y 轴的代码。
y = [-1, 4]
y_axis = range(y[0], y[1]+1)
for i in y_axis: # rows
print(y_axis[i])
这是我得到的输出:
4
-1
0
1
2
3
为什么它不从 y[0] 开始并以整数递增直到 y[1]+1 ?我认为那是 range() 函数的输出。 对于我的项目,我需要这段代码来输出以下内容:
4
3
2
1
0
-1
我不知道如何获得我想要的结果,我已经尝试了几个小时了!非常感谢任何帮助,谢谢
编辑:棘手的部分是这应该能够以正确的顺序打印任何类型的范围:如果我使用负步,它可能无法对所有正值等正确工作 像这样的方法不起作用: -1 -> 4: 范围(y[0], y[1]+1) 4 -> -1: 范围(y[1], y[0]-1, -1)
我需要一个通用的解决方案。它可能与 enumerate() 函数有关吗?
这是您要查找的内容:
y = [-1, 4]
y_axis = range(y[1], y[0]-1, -1)
for i in y_axis:
print(i)
您的原始代码有两个问题:
打印应该是元素,而不是索引列表。
您的范围应从 4(第一个元素)开始到 -2(第二个元素)结束。为了确保递减,请使用函数范围的第三个参数:step。 step=-1 从第一个元素到最后一个元素递减。您可以通过执行以下操作来测试项目范围输出的顺序:
print([i for i in range(4, -2, -1)])
希望对您有所帮助!干杯! :)