使用
我做这个程序是为了找到用户输入的n个数字的偶数和奇数,但这并不是我想要的,我想像===>偶数是2,4,6,8….100如果用户输入n=100,则奇数为单行中的1,3,5,7,9….99。但是我的打印100行,我怎么能用2行打印呢
number=input("enter the numbers")
int_numb=int(number)
for i in range(1,(int_numb+1)):
if i%2==0:
print(f"even number{i}")
else:
print(f"odd number {i}")
您可以使用两个for
循环(或内置的map
函数(,并且range
函数还接受一个step
参数,该参数仅可用于迭代集合中的偶数/奇数:
number = input("enter the numbers")
int_numb = int(number)
end = int_numb + 1
print('even numbers are: ', end='')
print(', '.join(map(str, range(2, end, 2))))
# or:
# print(', '.join(str(i) for i in range(2, end, 2)))
print('odd numbers are: ', end='')
print(', '.join(map(str, range(1, end, 2))))
输出:
enter the numbers10
even numbers are: 2, 4, 6, 8, 10
odd numbers are: 1, 3, 5, 7, 9
使用for
循环
上面的代码等效于,仅使用for
循环和str.join
来连接list
:中的元素
number = input("enter the numbers")
int_numb = int(number)
end = int_numb + 1
nums = []
for i in range(2, end, 2):
nums.append(str(i))
print('even numbers are: ', end='')
print(', '.join(nums))
nums = []
for i in range(1, end, 2):
nums.append(str(i))
print('odd numbers are: ', end='')
print(', '.join(nums))