2 svar
90 visningar
Lukas17 4
Postad: 13 mar 2022 20:02

Försöker skapa en funktion där man inte får skriva in bokstäver utan enbart siffrorna 1 eller 2.

Skapar ett spel, 21an. Spelet går ut på att två personer  turas om med att välja mellan siffrorna 1 och 2, detta värde läggs till i en gemensam pott. Den spelare som når 21 vinner! Man ska även få spela igen, men det fungerar inte. Såhär ser hela min kod ut:

print("Väkommen till 21an! Spelet går ut på att du och en annan turas om med att välja mellan siffrorna 1 och 2 detta värde läggs till i en gemensam pott. Den spelare som når 21 vinner!")
play_again = str("ja")
talsumma = 0
spelare = True
Avinster = 0
Aförluster = 0
Bvinster = 0
Bförluster = 0

while play_again == "ja" :

while talsumma < 21:

while spelare == True:
a = int(input("Spelare A: Vänligen skriv in 1 eller 2:"))

if a < 1 or a > 2:
a = int(input("Du måste skriva in 1 eller 2, försök igen:"))
else:
talsumma += a
print("Talsumman är nu " + str(talsumma))
spelare = False

while talsumma < 21 and spelare == False:
b = int(input("Spelare B: Vänligen skriv in 1 eller 2:"))

if b < 1 or b > 2: #Fixa så att man inte heller får skriva en bokstäver--------------------------------------------------------------------------
b = int(input("Du måste skriva in 1 eller 2, försök igen:"))
else:
talsumma += b
print("Talsumman är nu " + str(talsumma))
spelare = True

if talsumma == 21 and spelare == False:
print("Grattis spelare A, du vann!")
Avinster +=1
Bförluster += 1
elif talsumma == 21 and spelare == True:
print("Grattis spelare B, du vann!")
Bvinster += 1
Aförluster += 1
play_again = input('Vill du spela igen? ja/nej ')
if(play_again == "nej"): #fixa så att man faktiskt får spela igen om man svarar ja
break

--------------Slut på koden-----------------

När jag skriver en siffra som inte är 1 eller 2 får jag chansen att skriva rätt, men om jag använder bokstäver eller andra tecken får jag felmeddelande (ValueError)

Fermatrix 7841 – Fd. Medlem
Postad: 13 mar 2022 21:13

Finns nog många sätt man kan göra det på. 

Ett enkelt sätt är att använda något som exempelvis isnumeric() eller en try except osv.

Lukas17 4
Postad: 13 mar 2022 22:00

Hur ska jag skriva in isnumeric? Har aldrig använt funktionen tidigare. Vet du var den skulle sättas in?

Svara
Close