我试图遍历并打印每个元素,这些元素是一系列数字中的质数。我想在新行中打印每个行,但是在最后一个要打印的元素的末尾不需要换行。
def prime_in_range():
lower=int(input())
upper=int(input())
if 1 <= lower <= 10000 and 1 <= upper <= 10000:
for num in range(lower, upper + 1):
# prime numbers are greater than 1
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
print(num) #changing this to print(num,end='') prints everything in same line
prime_in_range()
Run Code Online (Sandbox Code Playgroud)
输入为1和10时,我需要输出为:
2
3
5
7
Run Code Online (Sandbox Code Playgroud)
但是默认情况下我会换行
2
3
5
7
Run Code Online (Sandbox Code Playgroud)
并获得以下内容print(num,end=''):
2357
Run Code Online (Sandbox Code Playgroud)
一种变通方法是使您的函数产生输出值,并使调用程序解包并以newline作为分隔符(以sep='\n')和以空字符串作为以end结尾的行的方式打印值end='':
def prime_in_range(lower, upper):
if 1 <= lower <= 10000 and 1 <= upper <= 10000:
for num in range(lower, upper + 1):
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
yield num
print(*prime_in_range(2, 7), sep='\n', end='')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |