Python asal sayı programı

BerkayB.2000

Centipat
Katılım
11 Ağustos 2020
Mesajlar
43
Python:
n=int(input("Enter an integer:"))
def is_prime(n):
    if n<2:
        return False
    elif n==2:
        return True
    else:
        i=2

while i<n:
    if((n%i)==0):
        return False
    elif (n==27):
        return False
    else:
       i+=1
       return True

print(is_prime(n))

Bu örnekte nerede hata olduğunu bulamıyorum. Doğrusu nedir acaba?
 
Kodu daha incelemediğim ama girinti (indentation) hataları var. Düzgün halini ekliyorum.

Kod:
n=int(input("Enter an integer:"))
def is_prime(n):
  if n<2:
    return False
  elif n==2:
    return True
  else:
    i=2

  while i<n:
    if((n%i)==0):
      return False
    elif (n==27):
      return False
    else:
      i+=1
      return True

print(is_prime(n))
Kodda da cinslik var. Mesela neden 27 var?
 
Kodu daha incelemediğim ama girinti (indentation) hataları var. Düzgün halini ekliyorum.

Kod:
n=int(input("Enter an integer:"))
def is_prime(n):
  if n<2:
    return False
  elif n==2:
    return True
  else:
    i=2

  while i<n:
    if((n%i)==0):
      return False
    elif (n==27):
      return False
    else:
      i+=1
      return True

print(is_prime(n))
Kodda da cinslik var. Mesela neden 27 var?
Aslında kod benim değil ben de internette gördüm fakat hatayı bulamadım
 
Hata yapmadıysam bu şekilde çalışıyor olması lazım. Ama genelde böyle yapılmaz.
Kod:
def is_prime(n):
  flag = True

  if n < 2:
    return False
  elif n == 2:
    return True
  else:
    i = 2

  while i < n:
    if n % i == 0:
      flag = False
      break
    i += 1
 
  if flag == True:
    return True
  else:
    return False

n = int(input("Enter an integer: "))
print(is_prime(n))
Ben olsam böyle yapardım. İyileştirmeler yapılabilir tabii.

Kod:
def is_prime(n):
  flag = True

  if n == 1 or n == 0:
    return False
 
  for i in range(2, int(n ** 1/2) + 1):
    if n % i == 0:
      flag = False
      break
 
  return flag

n = int(input("Enter an integer: "))
print(is_prime(n))
 
Son düzenleme:

Yeni konular

Yeni mesajlar

Geri
Yukarı