Schere Stein Papier (Fehler im Code, Anfänger)
Verfasst: Freitag 16. Dezember 2022, 12:19
Guten Tag zusammen,
ich mache gerade eine dieser "100 days of code challenges". Die aktuelle Aufgabe ist das Schere, Stein, Papier Spiel.
Nun habe ich ein Spiel gebaut das keinen Fehlercode produziert, aber dennoch nicht richtig funktioniert.
Egal welche Eingabe ich mache, die Konsole sagt immer es war ein Unentschieden. Wie es in dem ersten if-Statement steht:
print("First round was undecided!",name1,"chose",p1r1,"and",name2,"chose",p2r1) (Zeile 16)
Das Thema Scorewert habe ich bisher so nicht gelernt, es war ein Versuch der leider ebenfalls nicht funktioniert.
Ich habe alle Codezeilen zu dem Thema gelöscht und nochmal probiert. Das löst aber leider das erste Problem auch nicht.
Das hier ist mein Code:
print("\N{smiling face with sunglasses}","!!! Rock - Paper - Scissor !!!!","\N{smiling face with sunglasses}")
print()
name1 = input("Whats your name, player1? ")
name2 = input("Whats your name, player2? ")
from getpass import getpass as input
print("Hey", name1,"and", name2, "we'll play Rock, Paper, Scissor!")
print()
print("This programm wont show your choice to prevent scam")
print()
print("Choose between Rock = R, Paper = P and Scissor = S")
print()
p1r1 = input("Player1, choose R, P or S ")
p2r1 = input("Player2, choose R, P or S ")
score1 = int()
score2 = int()
if p1r1 == "R" or "r" and p2r1 == "R" or "r":
print("First round was undecided!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "R" or "r" and p2r1 == "S" or "s":
score1 + 1
print("Player 1won!",
name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "R" or "r" and p2r1 == "P" or "p":
score2 + 1
print("Player 2 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "S" or "s" and p2r1 == "R" or "R":
score2 + 1
print("Player 2 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "S" or "s" and p2r1 == "P" or "p":
score1 + 1
print("Player 1 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "S" or "s" and p2r1 == "S" or "s":
print("First round was undecided!" ,name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "P" or "p" and p2r1 == "R" or "r":
score1 + 1
print("Player 1 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "P" or "p" and p2r1 == "P" or "p":
print("First round was undecided!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "P" or "p" and p2r1 == "S" or "s":
score2 + 1
print("Player 2 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
else:
print("try again")
print()
print(name1,"has",score1,"points")
print(name2,"has",score2,"points")
Ich könnte meinen Code einfach löschen und den richtigen aus der Lösung nehmen aber dann hätte ich nichts gelernt. Vielleicht hat jemand hier Zeit und Muße mir zu helfen.
Vielen Dank im Voraus!
Kevin
ich mache gerade eine dieser "100 days of code challenges". Die aktuelle Aufgabe ist das Schere, Stein, Papier Spiel.
Nun habe ich ein Spiel gebaut das keinen Fehlercode produziert, aber dennoch nicht richtig funktioniert.
Egal welche Eingabe ich mache, die Konsole sagt immer es war ein Unentschieden. Wie es in dem ersten if-Statement steht:
print("First round was undecided!",name1,"chose",p1r1,"and",name2,"chose",p2r1) (Zeile 16)
Das Thema Scorewert habe ich bisher so nicht gelernt, es war ein Versuch der leider ebenfalls nicht funktioniert.
Ich habe alle Codezeilen zu dem Thema gelöscht und nochmal probiert. Das löst aber leider das erste Problem auch nicht.
Das hier ist mein Code:
print("\N{smiling face with sunglasses}","!!! Rock - Paper - Scissor !!!!","\N{smiling face with sunglasses}")
print()
name1 = input("Whats your name, player1? ")
name2 = input("Whats your name, player2? ")
from getpass import getpass as input
print("Hey", name1,"and", name2, "we'll play Rock, Paper, Scissor!")
print()
print("This programm wont show your choice to prevent scam")
print()
print("Choose between Rock = R, Paper = P and Scissor = S")
print()
p1r1 = input("Player1, choose R, P or S ")
p2r1 = input("Player2, choose R, P or S ")
score1 = int()
score2 = int()
if p1r1 == "R" or "r" and p2r1 == "R" or "r":
print("First round was undecided!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "R" or "r" and p2r1 == "S" or "s":
score1 + 1
print("Player 1won!",
name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "R" or "r" and p2r1 == "P" or "p":
score2 + 1
print("Player 2 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "S" or "s" and p2r1 == "R" or "R":
score2 + 1
print("Player 2 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "S" or "s" and p2r1 == "P" or "p":
score1 + 1
print("Player 1 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "S" or "s" and p2r1 == "S" or "s":
print("First round was undecided!" ,name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "P" or "p" and p2r1 == "R" or "r":
score1 + 1
print("Player 1 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "P" or "p" and p2r1 == "P" or "p":
print("First round was undecided!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
elif p1r1 == "P" or "p" and p2r1 == "S" or "s":
score2 + 1
print("Player 2 won!",name1,"chose",p1r1,"and",name2,"chose",p2r1)
else:
print("try again")
print()
print(name1,"has",score1,"points")
print(name2,"has",score2,"points")
Ich könnte meinen Code einfach löschen und den richtigen aus der Lösung nehmen aber dann hätte ich nichts gelernt. Vielleicht hat jemand hier Zeit und Muße mir zu helfen.
Vielen Dank im Voraus!
Kevin