为什么我的 for 循环没有迭代所有值
Why my for loop is not iterating all the values
当我 运行 这段代码并将输入作为 25 时,它应该 return 我 它不是素数 ,
但是当我调试代码时,范围值不会迭代到 if 条件中,只有范围的第一个值被传递,如果它不是 == 0,它会移动到 else 部分。
def find(x):
if x > 1:
for i in range(2,x):
if x % i == 0:
return "its not a prime num"
else:
return "Its a prime num"
user = int(input("Enter your no: "))
print(find(user))
请帮助我为什么这样工作,我是编程新手。 TIA
如评论中所述,这是一个简单的修复方法。只需将 else
语句的 return
移动到循环之外。
def find(x):
if x > 1:
for i in range(2,x):
if x % i == 0:
return "its not a prime num"
return "Its a prime num"
user = int(input("Enter your no: "))
print(find(user))
在循环内使用 return
会中断循环并退出函数,即使迭代仍未完成。请改用 print
。
当我 运行 这段代码并将输入作为 25 时,它应该 return 我 它不是素数 , 但是当我调试代码时,范围值不会迭代到 if 条件中,只有范围的第一个值被传递,如果它不是 == 0,它会移动到 else 部分。
def find(x):
if x > 1:
for i in range(2,x):
if x % i == 0:
return "its not a prime num"
else:
return "Its a prime num"
user = int(input("Enter your no: "))
print(find(user))
请帮助我为什么这样工作,我是编程新手。 TIA
如评论中所述,这是一个简单的修复方法。只需将 else
语句的 return
移动到循环之外。
def find(x):
if x > 1:
for i in range(2,x):
if x % i == 0:
return "its not a prime num"
return "Its a prime num"
user = int(input("Enter your no: "))
print(find(user))
在循环内使用 return
会中断循环并退出函数,即使迭代仍未完成。请改用 print
。