import random
cards_names = {1: "Ace", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8",
9: "9", 10: "10", 11: "Jack", 12: "Queen", 13: "King"}
def dealing():
return random.randint(1, 13)
def value_of_hand(cards):
value = 0
for card in cards:
if 1 < card <= 10:
value += card
elif card > 10:
value += 10
if 1 in cards and value + 11 <= 21:
return value + 11
elif 1 in cards:
return value + 1
else:
return value
def your_hand(name , cards):
faces = [cards_names[card] for card in cards]
value = value_of_hand(cards)
if value == 21:
print ("Wow, you got Blackjack!")
else:
print ("")
print ("%s's hand: %s, %s : %s %s") % (name, faces[0], faces[1], value)
for name in ("Dealer", "Player"):
cards = (dealing(), dealing())
your_hand(name, cards)
Antwort
Ich gehe davon aus, dass hier Sie Python 3.x verwenden und immer diese Fehlermeldung:
TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'
Sie müssen den Teil nach% innerhalb des Drucks bewegen Klammern um die Fehler zu vermeiden. Außerdem haben Sie eine %s
zu viel in Ihrem Druck. Entfernen Sie das und dann druckt es fein:
print ("%s's hand: %s, %s : %s" % (name, faces[0], faces[1], value))
Dealer's hand: Ace, 8 : 19
Player's hand: 9, 7 : 16
Wie Sie sehen können, die Anzahl der %s
: s sollten Sie es schaffen, auf die Parameter gleich sein. Ohne Entfernen s das zusätzlichen% würde es die folgenden Fehler auf Python drucken 3:
TypeError: not enough arguments for format string
Auch in Python 3 können Sie die neue Zeichenfolge Formatierung Syntax:
print ("{}'s hand: {}, {} : {}".format(name, faces[0], faces[1], value))
Es ist manchmal flexibler als der alte Weg von String-Interpolation mit% s, und sicherlich nützliche Funktion zu wissen.
- 1. Wie soll ich das in einer .bat-Datei drucken?
- 2. Wie soll ich Typen wie off_t und size_t drucken?
- 3. Blackjack Spiel in Python
- 4. Einfacher Blackjack Javascript-Code
- 5. Wie soll ich das berechnen in Arduino
- 6. Wie soll das aussehen?
- 7. Blackjack-Hintergrundbild in Eclipse
- 8. Java Blackjack OOP
- 9. Python Blackjack Spiel
- 10. Blackjack Java mit MVC
- 11. Python Blackjack Spiel Fragen
- 12. Sikuli Blackjack Automatisierung
- 13. Blackjack: Keine Händlerhand hinzufügen
- 14. BlackJack Karten Vektor C++/Zufallszahlen
- 15. Java Blackjack Paar Hand
- 16. Wie soll ich meinen Python-Code verbessern?
- 17. Fragment - soll ich die Ansicht in onCreateView wiederverwenden und wie soll ich das tun?
- 18. Python Attribut Fehler in Blackjack Spiel
- 19. Soll ich das in angular1 senatisieren?
- 20. Boolesche Methode ‚Blackjack‘ für Arrays
- 21. Refactoring Java Switch-Anweisung (Blackjack)
- 22. Was soll ich in das Zielverzeichnis schreiben?
- 23. Wo soll ich das "clear: both" setzen?
- 24. Marshal :: GetFunctionPointerForDelegate: Soll ich das Ergebnis freigeben?
- 25. Soll ich das View-Modellobjekt immer initialisieren?
- 26. Wie soll ich das Paket haskell-type-exts verwenden?
- 27. Ist das eine mehrdeutige Grammatik? Wie soll ich es lösen?
- 28. Maven structor - wie soll ich das richtig machen?
- 29. Funktion feuern, wenn es will. Wie soll ich das beheben?
- 30. Wie soll ich das Ende eines TCP-Pakets markieren?
Ich gab Ihnen eine Antwort, die Sie wahrscheinlich erhalten wollten, aber für zukünftige Referenz empfehle ich Ihnen, [Wie zu fragen] (http://stackoverflow.com/help/how-to-ask) zu lesen. Kurz gesagt: Seien Sie präzise über die Fehler, die Sie erhalten, über den Teil des Codes, mit dem Sie ein Problem haben, und über das gewünschte Verhalten des Codes. Willkommen bei Stackoverflow! –