是否阻止print()发出换行符



我做这个程序是为了找到用户输入的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))

最新更新