Forum >> Programmazione Python >> Files e Directory >> aprire un file con il programma

Pagina: 1 2 Avanti

Salve ragazzi, non so il titolo sia comprensibile riguardo il mio problema. Vi posto la porzione di codice del mio programma la quale mi dovrebbe aprire un file precedentemente salvato nell'apposita dyrectory il quale contiene un listato di nomi maschili e femminili. Il progrmma non mi da errore, tutavia non fa quello che deve.




user_name = input('Inserisci il nome (solo il nome): ')
print(' ')
# inserisce le iniziali del nome in maiuscolo
name_processed = user_name.title()
# apre il file dove ho salvato la lista dei nomi maschili; 'r' sta per read
males = open("C:/Risorse/NomiMaschili.txt", "r")
male_name = males.read()
males.close()
females = open("C:/Risorse/NomiFemminili.txt", "r")
female_name = females.read()
females.close()





--- Ultima modifica di fen1c5 in data 2018-08-31 16:34:41 ---

--- Ultima modifica di fen1c5 in data 2018-08-31 16:35:17 ---
e cosa dovrebbe fare?
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Sto seguendo un video tutorial, questo programma dovrebbe aprire una pagina nella quale ti chiede di inserire il tuo nome. in base al sesso ti stamap a video il nome contornato da una dìcornice, quindi: se maschio un riquadro, se femmina dei cuoricini, se il nome non è presente nell'elenco, il computer non lo riconosce quindi stamp il nome con degli smile. Ecco nonostante i nomi ci siano tutti perchè li ho presi da internet, mi stampa sempre e cmnq la cornice con gli smile. In pratica non riesce ad lòeggere nel file secondo me.


--- Ultima modifica di fen1c5 in data 2018-08-31 17:08:03 ---
devi esserti dimenticato un pezzo, perché il tuo programma chiede il nome e apre e legge i due file, ma non fa altro...
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
infatti dovrebbe aprire i file e leggere, ma non lo fa. Eventualmente sapete un altro modo per aprire un file salvato nel computer?
infatti dovrebbe aprire i file e leggere, ma non lo fa. Eventualmente sapete un altro modo per aprire un file salvato nel computer?

Ciao caro, come ti ha scritto cm, il metodo è giusto. Il problema forse risiede da qualche altra parte, magari il percorso non è corretto?

Facciamo prima se indichi l'errore, altrimenti si brancola nel buio e si sa, al buio si prendono gli spigoli del comodino.

Cya

Non da nessun errore. Nel video che sto seguendo se il nome è maschile il programma lo riconosce in base alla lista dei nomi maschili che sta nel file e appare il nome contornato da un quadrato; mentre se il nome è femminile, alla stessa maniera detta prima, dato il nome dalla lista dei nomi femminili contenuti in un altro file, il programma mostra il nome contornato da cuori. Se il nome non fosse contenuto nelle liste deve apparire invece il nome contornato da smile, ed è il mio caso, anche se il nome che digito è contenuto in uno dei die file.
Non da nessun errore. Nel video che sto seguendo se il nome è maschile il programma lo riconosce in base alla lista dei nomi maschili che sta nel file e appare il nome contornato da un quadrato; mentre se il nome è femminile, alla stessa maniera detta prima, dato il nome dalla lista dei nomi femminili contenuti in un altro file, il programma mostra il nome contornato da cuori. Se il nome non fosse contenuto nelle liste deve apparire invece il nome contornato da smile, ed è il mio caso, anche se il nome che digito è contenuto in uno dei die file.
Ci fai vedere il resto del codice? Quello che hai postato sembra funzionare, ma non fa tutto quello che dici; quindi, potrei supporre che il problema sia nelle rimanenti righe...


THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Ecco il progemma, ricordo che è un programma esempio per far veder come funziona il codice python. E' chiaro che in questo caso è più opportuno per diverse ragioni fare in modo che sia l'utente ad inserire il sesso.




ps. non ricordo i tag per fare le quote dei codici da postare



print("Benvenuto sul canale dell'Associazione Culturale Maggiolina.")
print("Ricordati di iscriverti al canale.")
print("Grazie.")
print(" ")
print(" ")
print(" ")
# inserisci il nome
NomeUtente = input("Inserisci il tuo nome(solo il nome): ")
print(" ")
# modifica le iniziali del nome in maiuscolo nel caso l'utente le scriva minuscole
NomeElaborato = NomeUtente.title()
# apre il file che contiene l'elenco dei nomi maschili in sola lettura
maschi = open("C:/Risorse/NomiMaschili.txt", "r")
nmaschile = maschi.read()
# chiude il file
maschi.close()
# apre il file che contiene l'elenco dei nomi femminili in sola lettura
femmine = open("C:/Risorse/NomiFemminili.txt", "r")
nfemminile = femmine.read()
# chiude il file
femmine.close()
if NomeElaborato.upper() in nmaschile:
    sesso = "M"
elif NomeElaborato.upper() in nfemminile:
    sesso = "F"
else:
    sesso = "unisex"
if len(NomeElaborato) > 40:
    print("Wow hai proprio un bel nome.")
    print("Penso però che ti chiamerò Boss")
    NomeElaborato = "boss"
    print(" ")
if NomeElaborato == "Babbo Natale":
    print("Allora io sono la befana.")
    NomeElaborato = "Furbone"
    print(" ")
if sesso == "M":
    moltiplicatore = len(NomeElaborato) + 2
    # riquadro per i nomi maschili
    print("╔" + "═" * moltiplicatore + "╗")
    print("║", NomeElaborato, "║")
    print("╚" + "═" * moltiplicatore + "╝")
elif sesso == "F":
    # riquadro per i nomi femminili
    moltiplicatore = len(NomeElaborato) + 4
    print("♥" * moltiplicatore)
    print("♥", NomeElaborato, "♥")
    print("♥" * moltiplicatore)
else:
    # riquadro per i nomi non riconosciuti nella lista
    moltiplicatore = len(NomeElaborato) + 4
    print("☺" * moltiplicatore)
    print("☺", NomeElaborato, "☺")
    print("☺" * moltiplicatore)
print(" ")
print("E' un bel nome")





--- Ultima modifica di fen1c5 in data 2018-09-03 17:09:16 ---

--- Ultima modifica di ㎝ in data 2018-09-03 17:12:55 ---
uhm, a me funziona




$ mkdir -p C:/Risorse/

$ echo CARLO > C:/Risorse/NomiMaschili.txt

$ echo SIMONE > C:/Risorse/NomiFemminili.txt

$ py x.py 
Benvenuto sul canale dell'Associazione Culturale Maggiolina.
Ricordati di iscriverti al canale.
Grazie.
 
 
 
Inserisci il tuo nome(solo il nome): carlo
 
╔═══════╗
║ Carlo ║
╚═══════╝
 
E' un bel nome

$ py x.py 
Benvenuto sul canale dell'Associazione Culturale Maggiolina.
Ricordati di iscriverti al canale.
Grazie.
 
 
 
Inserisci il tuo nome(solo il nome): simone
 
♥♥♥♥♥♥♥♥♥♥
♥ Simone ♥
♥♥♥♥♥♥♥♥♥♥
 
E' un bel nome



THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝


Pagina: 1 2 Avanti



Esegui il login per scrivere una risposta.