Ajeje Brazof
Profilo di
Nome | Ajeje Brazof |
---|---|
Indirizzo email | [email protected] |
Avatar | |
Messaggi | 4 |
-
- 2023-10-09 00:44:01
- Re: Buonasera, vorrei un aiuto per il mio codice
- Forum >> Programmazione Python >> Scripting
- Grazie
-
- 2023-10-07 12:59:41
- Re: Buonasera, vorrei un aiuto per il mio codice
- Forum >> Programmazione Python >> Scripting
import random import itertools # Dizionario dei nomi e dei punteggi iniziali nomi = ["A", "B", "C", "D", "E", "F", "G", "H"] punteggi = {nome: 0 for nome in nomi} # Genera tutte le combinazioni possibili di nomi senza ripetizioni combinazioni = list(itertools.combinations(nomi, 2)) # Loop del gioco while combinazioni: nome1, nome2 = random.choice(combinazioni) combinazioni.remove((nome1, nome2)) print(f"Chi preferisci tra {nome1} e {nome2}? (Inserisci 1 per {nome1} o 2 per {nome2})") risposta = input() if risposta == '1': punteggi[nome1] += 1 elif risposta == '2': punteggi[nome2] += 1 else: print("Scelta non valida. Inserisci 1 o 2.") # Stampa dei risultati finali print("\nPunteggi Finali:") for nome, punteggio in punteggi.items(): print(f"{nome}: {punteggio} preferenze")
-
- 2023-10-02 21:16:54
- Buonasera, vorrei un aiuto per il mio codice
- Forum >> Programmazione Python >> Scripting
- Buonasera, vorrei un aiuto per mio codice.
Dato il codice:
"
import random
import itertools
# Dizionario dei nomi e dei punteggi iniziali
nomi = ["A", "B", "C", "D", "E", "F", "G", "H"]
punteggi = {nome: 0 for nome in nomi}
# Genera tutte le combinazioni possibili di nomi senza ripetizioni
combinazioni = list(itertools.combinations(nomi, 2))
# Loop del gioco
while combinazioni:
nome1, nome2 = random.choice(combinazioni)
combinazioni.remove((nome1, nome2))
print(f"Chi preferisci tra {nome1} e {nome2}? (Inserisci 1 per {nome1} o 2 per {nome2})")
risposta = input()
if risposta == '1':
puntegginome1 += 1
elif risposta == '2':
puntegginome2 += 1
else:
print("Scelta non valida. Inserisci 1 o 2.")
# Stampa dei risultati finali
print("\nPunteggi Finali:")
for nome, punteggio in punteggi.items():
print(f"{nome}: {punteggio} preferenze")
"
Per chiudere il ciclo di combinazioni nell'esecuzione si deve rispondere ad un numero di 25 combinazioni quindi se dovessi aumentare il numero dei "nomi" il numero di combinazioni aumenta a dismisura. Io vorrei aggiungere una proprieta transitiva del tipo
se A meglio di B
e B meglio di C
quindi A meglio di C
Così da diminuire drasticamente le combinazioni future.
Grazie mille
--- Ultima modifica di Cruacs in data 2023-10-02 21:37:40 ---
-
- 2023-10-02 21:16:46
- Buonasera, vorrei un aiuto per il mio codice
- Forum >> Programmazione Python >> Scripting
- Buonasera, vorrei un aiuto per mio codice.
Dato il codice:
"
import random
import itertools
# Dizionario dei nomi e dei punteggi iniziali
nomi = ["A", "B", "C", "D", "E", "F", "G", "H"]
punteggi = {nome: 0 for nome in nomi}
# Genera tutte le combinazioni possibili di nomi senza ripetizioni
combinazioni = list(itertools.combinations(nomi, 2))
# Loop del gioco
while combinazioni:
nome1, nome2 = random.choice(combinazioni)
combinazioni.remove((nome1, nome2))
print(f"Chi preferisci tra {nome1} e {nome2}? (Inserisci 1 per {nome1} o 2 per {nome2})")
risposta = input()
if risposta == '1':
puntegginome1 += 1
elif risposta == '2':
puntegginome2 += 1
else:
print("Scelta non valida. Inserisci 1 o 2.")
# Stampa dei risultati finali
print("\nPunteggi Finali:")
for nome, punteggio in punteggi.items():
print(f"{nome}: {punteggio} preferenze")
"
Per chiudere il ciclo di combinazioni nell'esecuzione si deve rispondere al fattoriale del numero dei "nomi" quindi se dovessi aumentare il numero dei "nomi" il numero di combinazioni aumenta a dismisura. Io vorrei aggiungere una proprieta transitiva del tipo
se A meglio di B
e B meglio di C
quindi A meglio di C
Così da diminuire drasticamente le combinazioni future.
Grazie mille