Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-11-2011, 15:02   #1
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
[Python]Aiuto con code.

Sono alle prime armi col python e stavo cercando di creare un mio primo programmino, però non riesco a capire perchè quando vado a seguire questa prima parte di codice che ho buttato giù, la shell mi si chiude al'istante senza farmi visualizzare niente.
Ecco il codice:

Codice:
#Calcolatrice scientifica beta v 1.0.

import math


scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n")
	  
	  if scelta <= 0 or scelta > 4
	  print "Devi inserire un numero da 1 a 4 \n"
	  
	  raw_input()
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2011, 16:16   #2
*andre*
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 1071
Premetto di non sapere molto di Python, ma il codice non è indentato bene e gli manca un ':' dopo la condizione dell'if

Codice:
#Calcolatrice scientifica beta v 1.0.

import math


scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
          "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n")
	  
if scelta <= 0 or scelta > 4:
    print "Devi inserire un numero da 1 a 4 \n"

raw_input()
__________________
Affari: ariakasneverborne, PanCar, Luk@°°°, Fabio310, kintaro oe, krike, fabry180384, dariox am2, chiadoz, windsofchange, dado1979, Rudyduca, aleforumista, Sheva77
*andre* è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2011, 20:16   #3
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Grazie per la risposta ma non cambia niente..la shell si chiude immediatamente..

Qualche aiuto?
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 07:11   #4
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Scusate ma e' possibile che nessuno da fare una scemenza del genere? O.o
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 07:38   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Codice:
d:\C\Python27.NET>python.exe Prova.py
     ### Calcolatrice scientifica v.1.0. ###
       Scegli una delle seguenti operazioni:
      1) Addizione.
      2) Sottrazione.
      3) Moltiplicazione.
      4) Divisione.
1
Devi inserire un numero da 1 a 4

2

d:\C\Python27.NET>
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 12:37   #6
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Io lo sto provando con windows, praticamente compilo il codice da me postato con notepad++, poi lo eseguo cliccando sull'ex e la shell mi si chiude immediatamente..Non ho la possibilità di provare con linux ora, quindi mi sono bloccato e non capisco dove sia il problema..
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 13:00   #7
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quello E' Windows. Prova ad eseguirlo, come ha fatto lui, da terminale.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 19:53   #8
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Ho compilato e eseguito il programma su linux tramite terminale e dopo aver indentato il codice non mi da problemi. Ora però mi da un errore di sintassi sull'if e non capisco dove sia l'errore..questo è il codice:
Codice:
#Calcolatrice scientifica beta v 1.0.

import math


scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n"
if scelta <= 1 or scelta > 4:
	print "Devi inserire un numero da 1 a 4 \n"
	  raw_input()
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 20:01   #9
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da andreiiiz Guarda i messaggi
Ho compilato e eseguito il programma su linux tramite terminale e dopo aver indentato il codice non mi da problemi. Ora però mi da un errore di sintassi sull'if e non capisco dove sia l'errore..questo è il codice:
Codice:
#Calcolatrice scientifica beta v 1.0.

import math


scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n"
if scelta <= 1 or scelta > 4:
	print "Devi inserire un numero da 1 a 4 \n"
	xxraw_input()
Codice:
#Calcolatrice scientifica beta v 1.0.

import math


scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n")

if scelta <= 1 or scelta > 4:
	print "Devi inserire un numero da 1 a 4 \n"

raw_input()
Non hai chiuso la tonda del raw_input. Inoltre, perchè fai un livello di indentazione anche se non ce n'è bisogno? In Python a queste cose sei obbligato a starci attento, per fortuna aggiungerei.

Ultima modifica di ndakota : 15-11-2011 alle 20:13.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 20:31   #10
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Ecco, mi stavo scervellando grazie!
Ne approfitto per fare un altra domanda.. Come mai se scrivo :
Codice:
print "Il risultato è", n3
Mi da errore nameError n3 is not defined quando prima avevo scritto n3 = n1 + n2?
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 21:02   #11
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Dovresti postare tutto il codice, non siamo degli indovini

Ultima modifica di ndakota : 15-11-2011 alle 21:04.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 21:07   #12
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Codice:
#Calcolatrice scientifica beta v 1.0.

import math

def addizione():
	n1 = raw_input ("inserisci il primo numero:\n")
	n2 = raw_input ("Inserisci il secondo numero:\n")

	n3 = n1 + n2
	
print "Il risultato e'",n3

scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n")

if scelta < 1 or scelta > 4:
	print "Devi inserire un numero da 1 a 4 \n"
elif scelta == 1:
	addizione()
elif scelta == 2:
	sottrazione()
elif scelta == 3:
	moltiplicazione()
elif scelta == 4:
	divisione()

raw_input()
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 21:11   #13
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
E' una variabile locale alla funzione addizione. Non esiste al di fuori.

Codice:
def addizione():
	n1 = raw_input ("inserisci il primo numero:\n")
	n2 = raw_input ("Inserisci il secondo numero:\n")

	return n1 + n2
	
print "Il risultato e' ", addizione()
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2011, 21:46   #14
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Mi spiace ma così non va..

Codice:
#Calcolatrice scientifica beta v 1.0.

import math

def addizione():
	n1 = raw_input ("inserisci il primo numero:\n")
	n2 = raw_input ("Inserisci il secondo numero:\n")

	
	return n1 + n2
        print "Il risultato e'", addizione()

scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n")

if scelta < 1 or scelta > 4:
	print "Devi inserire un numero da 1 a 4 \n"
elif scelta == 1:
	addizione()
elif scelta == 2:
	sottrazione()
elif scelta == 3:
	moltiplicazione()
elif scelta == 4:
	divisione()

raw_input()
Se provi questo codice vedrai che esce la scritta:
Il risultato e' inserisci il primo numero:

come prima cosa quindi c'è qualcosa che non va!
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2011, 07:47   #15
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Scusa ma non vedi che i blocchi nel tuo codice non sono indentati come nel mio?? Ci credo che non funziona!

Correzione in bold

Codice:
#Calcolatrice scientifica beta v 1.0.

import math

def addizione():
	n1 = raw_input ("inserisci il primo numero:\n")
	n2 = raw_input ("Inserisci il secondo numero:\n")

	
	return n1 + n2

print "Il risultato e'", addizione()

scelta = raw_input( "     ### Calcolatrice scientifica v.1.0. ###"
      "                                           \n " 
	  "      Scegli una delle seguenti operazioni: \n"
	  "      1) Addizione. \n"
	  "      2) Sottrazione. \n"
	  "      3) Moltiplicazione. \n"
	  "      4) Divisione. \n")

if scelta < 1 or scelta > 4:
	print "Devi inserire un numero da 1 a 4 \n"
elif scelta == 1:
	addizione()
elif scelta == 2:
	sottrazione()
elif scelta == 3:
	moltiplicazione()
elif scelta == 4:
	divisione()

raw_input()
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2011, 07:59   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Altra cosa raw_input restituisce la STRINGA immessa dall'utente, che ovviamente NON è un intero.

Per Python < 3.0, si può usare input al posto di raw_input, che VALUTA l'espressione immessa dall'utente. Per Python 3.0+ serve utilizzare input (che è la vecchia raw_input) e provvedere poi alla valutazione "manualmente" (passando il valore alla funzione/costruttore int, ad esempio).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2011, 12:44   #17
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
ndakota grazie per la tua pazienza ma anche con il tuo codice non cambia assolutamente nulla mi dice sempre "il risultato e' inserire il primo numero"! :S

@cdimauro: grazie, come vedo che versione è il mio python?
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2011, 13:24   #18
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Dovrebbe già apparirti quando lanci Python (senza script, quindi con l'interprete interattivo).

Comunque:
Codice:
>>> import sys
>>> sys.version
0: '2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)]'
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2011, 13:31   #19
andreiiiz
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 22
Ok, grazie, attendo ndakota per l'aiuto col code!
andreiiiz è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2011, 20:18   #20
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Bè, da quello che dici non sembra sbagliato, visto che la prima cosa che fa la funzione è chiederti un numero da tastiera. Inseriscilo!
ndakota è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Debutto cinematografico per HONOR Robot ...
Copilot+ PC, ogni PC con una GPU dedicat...
Dreame taglia i prezzi: come orientarsi ...
L'Italia entra nell'era dei 2 nanometri!...
Stranger Than Heaven rivoluziona il comb...
Honor X80 Pro Max: svelata la data di la...
Chiuso finanziamento da 21 milioni: Orbi...
E-commerce in crescita in Italia: entro ...
Capcom non si ferma più: un Resid...
Volkswagen, Stellantis e Renault denunci...
Stop ai social per gli Under 16: il Regn...
Advanced Shader Delivery per tutte le GP...
EGO Power+ Aura R2: prova del robot tagl...
Queste AI sanno quando vengono messe all...
Prime Day anticipato, robot tagliaerba s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v