为什么运行出来是这个样子呀…
原题如下:
定义一个函数output_prime(n),接收一个正整数n,在函数中调用is_prime()函数,对不大于n的整数一一判定,同一行中输出不大于n的全部素数。此函数无返回值,直接输出找到的素数。
老师给的参考答案
你的is_prime()函数写的不对,你题目的解答代码如下:
def is_prime(n):
if n<=1:
return False
for i in range(2,n):
if n%i==0:
return False
return True
def output_prime(n):
for i in range(2,n+1):
if is_prime(i):
print(i,end=" ")
print()
if __name__ == "__main__":
flag = " "
while flag == " ":
i = int(input("请输入一个正整数:"))
# if要缩进到while内
if i<=0:
print("不要输入非正数哦")
continue
print("不大于{}的素数:".format(i))
if i==1:
print("无")
else:
output_prime(i)
flag = input("按空格继续 按其他退出程序")
如有帮助,望采纳!谢谢!