【问题标题】:Why does my basic print statement work, but my f-string version produces a syntax error?为什么我的基本打印语句有效,但我的 f-string 版本会产生语法错误?
【发布时间】:2021-05-06 12:07:17
【问题描述】:

学习 Python 的早期阶段,并尝试完成 100 天的代码挑战。正在构建一个粗糙的二十一点游戏,但我确信这可能是一个我不认识的非常简单的修复方法!

这是我目前的代码:

import random

cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]

players = ["player", "dealer"]

players_hands = {}
players_scores = {}


for player in players:

    cards = random.choices(cards, k = 2)
    players_hands[player] = cards
    players_scores[player] = sum(cards)
    
print(players_hands["player"])

print(players_scores["player"])

print(f"Your cards: {players_hands["player"]}, current score: {players_scores["player"]}")

print(f"Dealer's first card: {players_hands["dealer"][0]}")**

我想打印 f-string 版本而不是基本的打印语句,但不断收到语法错误,不知道我做错了什么。

【问题讨论】:

  • 您使用的是哪个版本的python?哪个版本引入了 f-string?
  • “不断出现语法错误”——究竟是什么意思?
  • @khelwood 这可能是一个因素,但我相信这里确实存在语法错误。
  • @Kemp 这就是我没有结束这个问题的原因。 OP 需要提供有关他们遇到的错误的更多信息。

标签: python printing f-string


【解决方案1】:

您应该检查您是否至少使用了 Python 3.6,其中引入了 f 字符串,而且...

您正在使用双引号来访问字典,这与对字符串使用双引号相冲突。尝试更改为任一

print(f"Dealer's first card: {players_hands['dealer'][0]}")

print(f'Dealer\'s first card: {players_hands["dealer"][0]}')

【讨论】:

  • 谢谢,我一直忘记这条规则!现在完美运行。谢谢你的时间! 8)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-15
  • 2019-10-25
  • 1970-01-01
  • 2022-11-17
  • 2017-01-08
  • 2020-12-03
  • 1970-01-01
相关资源
最近更新 更多