我不希望在输出中打印空行
我尝试过end=""
,但是由于print
在loop
中,因此无法正常工作
def main():
a=int(input())
b=int(input())
for i in range(a,b+1):
prime=0
for x in range(2,i):
if(i%x==0):
prime=prime+1
else:
prime=prime+0
if(prime==0):
print(i, end="")
main()
实际结果:
907
911
919
929
937
941
947
953
967
971
977
983
991
997
预期:
907
911
919
929
937
941
947
953
967
971
977
983
991
997
答案 0 :(得分:0)
您可能要看一下:how can I remove a trailing newline。它声明使用.rstrip(),但您应阅读文档以确保内容。
答案 1 :(得分:0)
一种可能性是将结果组合成一个列表,并在最后打印该列表(由'\n'
连接):
def main():
a=int(input())
b=int(input())
results = []
for i in range(a,b+1):
prime=0
for x in range(2,i):
if(i%x==0):
prime=prime+1
else:
prime=prime+0
if(prime==0):
results.append(i)
print('\n'.join(str(i) for i in results))
main()
我不确定您要做什么,也可以尝试用以下代码替换上面代码中的print
语句
print('\n'.join(str(i) for i in results), end = '')
答案 2 :(得分:0)
您可以像这样动态地打印出东西
for i in range(10):
print(i, sep=' ', end='', flush=True)
这将输出:
123456789
请参阅Print in one line dynamically,了解更多可能符合您需要的算法!