ich bin neu hier und, ich grüße erst einmal alle in diesem Forum und ich möchte mich für die Aufnahme bedanken,
ich finde euer Forum einfach Klasse.
Ich bin Programmieranfänger und bin aber fleißig dabei mir Python beizubringen.
Nun zum Thema: Ich habe ein Programm geschrieben "BlackJack" und erhalte jetzt bei der Ausführung Syntax Fehler, einige Fehler konnte ich schon beseitigen,
aber bei diesen einen Fehler komme ich leider nicht weiter,
deshalb hoffe ich, dass mir hier jemand helfen kann und ich daraus was lernen kann.
Quellcode:
Code: Alles auswählen
import random
def randomCard():
randomCard = random.randint(1,14)
if(randomCard == 11):
randomCard = "B"
elif(randomCard == 12):
randomCard = "D"
elif(randomCard == 13):
randomCard = "K"
elif(randomCard == 14):
randomCard = "A"
return randomCard
def calcScore(hand):
total = 0
for card in hand:
if card == "B" or card == "D" or card == "K":
total +=10
elif card == "A":
if total >=11:
total +=1
else:
total =+11
else:
total += card
return total
def winner(hand1, hand2):
score1 = calcScore(hand1)
score2 = calcScore(hand2)
if score > 21:
return "hand2"
if score2 > 21:
return "hand2"
if score1 > score2:
return "hand1"
else:
return "hand2"
def hit(hand):
hand.appand(randomCard())
return hand
def aiStrategy(hand):
strategy = ""
if(calcScore(hand) > 15):
strategy = "Stay"
else:
strategy = "Hit"
return strategy
def bust():
if calcScore(hand) > 21:
return 1
else:
return 0
def deal():
hand = [randomCard(), randomCard()]
return hand
def play():
print("WILLKOMMEN BEI PYTHON BLACKJACK")
computerHand = deal()
playerHand = deal()
print("-------- STARTE SPIEL --------")
print("Computer Hand: " + str(computerHand[0]))
print("Spieler Hand: " + str(playerHand))
print("\n-------Aktuelle Punkzahl-------")
if(calcScore(playerHand) == 21):
print("21! Du hast gewonnen")
# noch einmal spielen?
playAgain()
elif(calcScore(computerHand)==21):
print("21! Der Computer hat gewonnen!")
#noch einmal spielen?
playAgain()
print(calcScore(playerHand())
hitcard = input("Willst du noch eine Karte? (J/N)")
while(hitcard == "J" or hitcard == "j"):
hit(playerHand)
print("\n------- Neue Punktzahl-------")
print(playerHand)
print(calcScore(playerHand))
if(len)(playerhand == 5 and calcScore(playerhand) < 21):
print("5 Karten und unter 21: DEWINNST")
#noch einmal sielen?
playAgain()
elif(bust(playerHand) == 1):
print("Bust. Verloren!")
#noch einmal spielen?
playAgain()
else:
hitcard = input("Willst du noch eine Karte? (J/N)")
print("\n-------Computer\'s Zug-------")
if(aiStrategy(computerHand) == "Hit"):
hit(computerHand)
print(computerHand)
else:
print(computerHand)
print("Computer ist fertig")
print("\n-------SIEGER ERMITTELN-------")
print("COMPUTER : " + str(calcScore(computerhand)))
print("SpIELER: " + str(calcScore(playerhand)))
if(winner(computerhand, playerHand) == "hand1" and bust(computerHand)==0):
print("Computer hat gewonnen")
elif(winner(computerhand, playerHand) == "hand2" and bust(playerHand)==1):
print("Computer hat gewonnen")
elif(winner(computerhand, playerHand) == "hand1" and bust(computerHand)==1):
print("Spieler hat gewonnen")
elif(winner(computerhand, playerHand) == "hand2" and bust(cplayerHand)==0):
print("Spieler hat gewonnen")
playAgain()
def playAgain():
again = input("Willst du erneut Spielen? (J/N)")
if(again == "J" or again == "j"):
playAgain()
else:
print("\n\n-------Vielen Dank für\n's Spielen-------")
exit()
if __name__ == "__main__":
play()
Code: Alles auswählen
File "BlackJack.py", line 105
hitcard = input("Willst du noch eine Karte? (J/N)")
^
SyntaxError: invalid syntax
viele Grüße
Celsior