for 循环和函数的问题

问题描述 投票:0回答:1

我正在做一个初学者级别的问题,我无法让我的代码来计算我到达最后一个 if 的次数,用我现在拥有的代码,它说 c 在被分配之前被引用。

我希望获得列表中从a到b的某些数字,并计算我获得这些类型数字的次数,所以我做了一个愚蠢的函数,它会不断重复,直到范围完成。

c = 0
def primito(num1):
  for i in range(1,num1):
    if i % 2 !=0:
      if i % 3!=0:
        if i % 5!=0:
          print(i, "es un numero primo ")
          c+=1
          return c
numero = int(input("escriba un numero: "))

primito(numero)

print("los primos son", c)
python python-3.x function for-loop
1个回答
0
投票

通过移动 return c,一切都应该工作

c = 0

def primito(num1):
  global c  
  for i in range(1, num1):
    if i % 2 != 0:
      if i % 3 != 0:
        if i % 5 != 0:
          print(i, "is a prime number ")
          c += 1  
  return c 

numero = int(input("enter a number: "))
primito(numero)

print("the primes are", c)

另外,如果您需要检查输入的数字,请更改 for 循环

for i in range(1, num1+1):
© www.soinside.com 2019 - 2024. All rights reserved.