Domanda Problema elementare python 3

Stato
Discussione chiusa ad ulteriori risposte.

Dariogon

Utente Bronze
24 Ottobre 2015
12
3
0
37
Mi servirebbe aiuto oer programmare una idea che mi è venuta stamattina, io sono riuscito a scrivere il procedimento in caratteri matematici, il problema sorge quando devo trasformare tutto in programma.

Mi piacerebbe riuscire ad ottenere qualcosa in cui inserire il valore di x e ottenere tramite "true" o "false" se il numero è primo

Allego la foto di ciò che ho buttato giù, se non si riesce a leggere proverò a fare di meglio

L'idea è di arrivare a dire che se y è intero x è un numero primo
 

Allegati

  • image.jpg
    image.jpg
    640 KB · Visualizzazioni: 89
Ultima modifica:
L'ho fatto velocemente, non so se ci siano errori:

Codice:
x = input("Inserisci il numero: ")
c = 0
for i in range(1, x+1):
  if (x % i) == 0:
  c += 1
if c > 2:
  txt = "Numero %s non e' primo" % x
else:
  txt = "Numero %s e' primo" % x

print(txt)

Per il True o False:

Codice:
def isPrime(x, c):
  for i in range(1, x+1):
    if (x % i) == 0:
      c += 1
   if c > 2:
     return False
   else:
     return True

c = 0
x = input("Inserisci il numero: ")
isPrime(x, c)

Ah, il codice è in py 2.x, quindi ad esempio la funzione range dovrebbe essere xrange.
 
  • Mi piace
Reazioni: TheSeeker
L'ho fatto velocemente, non so se ci siano errori:

Codice:
x = input("Inserisci il numero: ")
c = 0
for i in range(1, x+1):
  if (x % i) == 0:
  c += 1
if c > 2:
  txt = "Numero %s non e' primo" % x
else:
  txt = "Numero %s e' primo" % x

print(txt)

Per il True o False:

Codice:
def isPrime(x, c):
  for i in range(1, x+1):
    if (x % i) == 0:
      c += 1
   if c > 2:
     return False
   else:
     return True

c = 0
x = input("Inserisci il numero: ")
isPrime(x, c)

Ah, il codice è in py 2.x, quindi ad esempio la funzione range dovrebbe essere xrange.

Grazie mille, è una cosa ancora troppo difficile per me ma dovrebbe essere abbastanza chiaro :)
 
Certo, se hai difficoltà non esitare a chiedere :)

Inviato dal mio GT-I9505 utilizzando Tapatalk
Ecco allora una domanda
Ma c'è il modo per mettere l'input alla fine (quindi avere la risposta immediatamente dopo aver scritto il numero) e rendere ripetibile il tutto senza dover riscrivere il codice?
 
Ultima modifica:
Ecco allora una domanda
Ma c'è il modo per mettere l'input alla fine (quindi avere la risposta immediatamente dopo aver scritto il numero) e rendere ripetibile il tutto senza dover riscrivere il codice?
Non ho ben capito la prima domanda :asd:, con questo codice, la risposta sarà subito dopo l'input poiché la CPU processa le istruzioni in millesimi di secondo, quindi secondo l'essere umano la risposta è "subito dopo".

Per la ripetizione:

Codice:
while True:
  z = raw_input("Digita 'OK' per analizzare             un numero, 'exit' per uscire: ")
  If z.lower() == 'exit':
    break
  elif z.lower() != 'ok':
    print "carattere non valido, esco dal      programma.."
    break
  #resto del codice descritto nell'altro post

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Non ho ben capito la prima domanda :asd:, con questo codice, la risposta sarà subito dopo l'input poiché la CPU processa le istruzioni in millesimi di secondo, quindi secondo l'essere umano la risposta è "subito dopo".

Per la ripetizione:

Codice:
while True:
  z = raw_input("Digita 'OK' per analizzare             un numero, 'exit' per uscire: ")
  If z.lower() == 'exit':
    break
  elif z.lower() != 'ok':
    print "carattere non valido, esco dal      programma.."
    break
  #resto del codice descritto nell'altro post

Inviato dal mio GT-I9505 utilizzando Tapatalk
Quello che intendo io è inserire la ripetibilità di tutto senza inserire tutto il codice ma inserendo solo in nuovo numero. Per dirla facile far si che arrivi a un punto in cui ti chiede "inserisci il numero:", dopo averlo inserito ottenere il risultato e subito dopo aver ancora "inserisci il numero:". Spero di essermi spiegato bene
 
Quello che intendo io è inserire la ripetibilità di tutto senza inserire tutto il codice ma inserendo solo in nuovo numero. Per dirla facile far si che arrivi a un punto in cui ti chiede "inserisci il numero:", dopo averlo inserito ottenere il risultato e subito dopo aver ancora "inserisci il numero:". Spero di essermi spiegato bene
Codice:
Import time
While true:
  x = input("Inserisci il numero: ")
  c = 0
  for i in range(1, x+1):
    if (x % i) == 0:
    c += 1
  if c > 2:
    txt = "Numero %s non e' primo" % x
  else:
    txt = "Numero %s e' primo" % x
  time.sleep(1) //aspetta un secondo da quando finisce il numero a quando chiede l'altro, se vuoi una cosa immediata, elimina o commenta quest'istruzione

  print(txt)

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Stato
Discussione chiusa ad ulteriori risposte.