Forum >> Principianti >> esercizio

Pagina: 1 2 Avanti

salve a tutti
a fine capitolo trovo un esercizio che mi chiedeva quanto segue:

"Scrivete un programma che chieda all’utente il nome. Se viene inserito il vostro nome, il programma dovrà

rispondere con un “Questo è un bel nome”, se il nome inserito è John Cleese o Michel Palin il programma dovrà

rispondere con una battuta ;) mentre in tutti gli altri casi l’output del programma sarà un semplice “Tu hai un bel

nome!”.




io pensandoci e ripensandoci scrivo queste righe, salvo il tutto in esercizio.py ma quando lo avvio mi da sintassi errata.

questo è cio che ho scritto io:





a=raw_input ('inserisci il tuo nome: ')

b="andrea"

c="jhon cleese"

d="michel palin"

if a==b:

print ("questo è un bel nome!")

elif a==c:

print('sei simpatico')

else:

print ('tu hai un bel nome')

input('premi exit per uscire')





help me
ciao andreyu, che versione di python stai usando?
inoltre ti conviene usare il tasto code per postare il codice, altrimenti non si capisce l'identazione.






ciao sto usando la 2.7 su win10
posto foto delle righe scritte
Allegati
Non serve che usi RAW in fondo l'input per definizione è litterale a meno che non anteponi EVAL

Puoi usare un if per ogni condizione

Ma la stringa d non la usi mai?

Ricorda di indentare

Poi a volte usi i doppi apici a volte no perché?

Comunque cosi come è scritto ti permette una sola interazione

L'ultimo input deve essere fuori dall if

Prova cosi




scusami ma se io definisco ad esempio
a=input('inserisci stringa: ')

output sarà->

inserisci stringa:



ora se io inserisco una qualsiasi stringa come può essere ad esempio 'ciao',



mi restituisce questo messaggio




-> Traceback (most recent call last):

File "<pyshell#128>", line 1, in <module>

a=input("inserisci stringa: ")

File "<string>", line 1, in <module>

NameError: name 'ciao' is not defined





quindi da quanto ho appreso, correggimi se sbaglio,

a=input('...') è solo per l'inserimento di numeri int o float

b=raw_input('...') è per l'inserimento di stringhe






ho migliorato in questo modo ma non mi da comunque il risultato che voglio
Allegati
Prova così

a = "andrea"
b = "jhon cleese"
c = "michel palin"
string = input("Inserisci il tuo nome exit per uscire : ")
while string != "exit":
    if string == a:
        print (" questo è un bel nome ")
    elif string == b:
        print (" sei simpatico ")
    elif string == c:
        print (" sei simpatico")
    else:
        print (" tu hai un bel nome ")
    string = input("Inserisci il tuo nome exit per uscire : ")
print ()

Ciao
Salvatore!
ciao salvatore ho provato ad eseguire quello che hai suggerito ma mi da lo stesso problema
Se usi python2 prova a sostituire gli input() con raw_input()....


Pagina: 1 2 Avanti



Esegui il login per scrivere una risposta.