我只需要从这个程序中输出奇数:
m = int(input())
n = int(input())
for i in range(m, n - 1, -1,):
print(i)
请不要使用if
使用and
而不是if
:
i&1 and print(i)
(步骤-2的使用范围更好,我只是不喜欢这样的限制问题,总是试图以意想不到的方式绕过限制(。
您可以使用跨步范围,只要您进行sur来调整起始编号:
m = int(input())
n = int(input())
for i in range(m+1-m%2,n+1,2): # start at next odd if m is even
print(i)
如果你想按降序排列:
m = int(input())
n = int(input())
for i in reversed(range(m+1-m%2,n+1,2)):
print(i)
如果不能保证您的起始值是奇数,则会变得有点棘手,因为您不能简单地以2为步长。你仍然可以使用这样的条件词(稍微(逃脱惩罚:
m = int(input())
n = int(input())
for i in range(m, n):
output_str = (f"{str(i % 2)}" or "") * i
output_str += (i % 2) * 'n'
print(output, end="")
我应该在这里声明我严格回答这个问题。我并不完全赞同这种方法。