设x
和y
为两个整数:
如果在Python中考虑x > y
,range(x, y)
将如何?
我尝试了以下代码:
for i in range(10, 3):
print(i)
我认为range(10, 3)
应该被视为列表[0, 3, 6, 9]
,但是这部分代码没有呈现任何内容。
您有两个选项:
重新排列输入值,
range(0, 10, 3) # => (0, 3, 6, 9)
编写包装函数,为您重新排列它们:
def safe_range(a, b):
return range(0, max(a,b), min(a,b))
safe_range(3, 10) # => (0, 3, 6, 9)
编辑:再想一想,我明白了;您正在尝试做一些类似
的事情range({start=0,} stop, step)
但如果您只给出两个值,则无法区分该值和
range(start, stop, {step=1})
为解决此歧义,Python语法要求默认值参数只能出现在所有位置参数之后-即,第二个示例是有效的Python,第一个示例不是。
这篇关于如果x&>y,Range(x,y)的输出是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!