Ich lerne erst seit ein paar Wochen Python und brauche deshalb auch noch Hilfe
beim Programmieren. Ich verändere kleine Programme oder schreibe kleine eigene
aber an diesem Projekt komme ich momentan nicht weiter und bitte euch mir einwenig
zu helfen.
Code: Alles auswählen
import random
import time
Namen = ['Stein' , 'Spock', 'Papier', 'Echse', 'Schere']
def ermittle_sieger(waehle_spieler_x, waehle_spieler_y):
difference = (waehle_spieler_x - waehle_spieler_y) % 5
assert len(Namen) == 5
if difference == 0:
return None
elif difference in [1, 2]:
return 0
elif difference in [3, 4]:
return 1
else:
assert False
def spielersicht():
spieler_namen = ('Spieler', 'Computer')
print('Willkommen zu {0}'.format('-'.join(Namen)))
print('Waehle einen der folgenden Namen.\n')
for i, name in enumerate(Namen):
print(i, name)
print()
while True:
spieler_wahl = int(input("Schreibe deine Entschiedung auf"))
if not (0 <=spieler_wahl < len(Namen)):
print('Error: Du musst eine Nummer zwischen 0 und {0}'.format(len(Namen) - 1))
break
computer_wahl = random.randrange(len(Namen))
for name,wahl in zip(spieler_namen, [spieler_wahl, computer_wahl]):
print(name, 'waehlen', Namen[wahl])
time.sleep(1.0)
winner = ermittle_sieger(spieler_wahl, computer_wahl)
if winner is None:
print('{0} unentschieden!'.format(' and '.join(spieler_namen)))
else:
print(spieler_namen[winner], 'gewinnt!')
if __name__== '__main__':
spielersicht()