这是代码:
class Games:
def knb(self):
user_stats = 1
print(f"Добро пожаловать в игру: Камень, ножницы, бумага.\nТебе нужно набрать 10 очков.\nТвои очки: {user_stats}")
while True:
tmp = ["камень", "ножницы", "бумага"]
u = input("выбери: (к/н/б)")
c = random.choice(tmp)
if u == "к" and c == "камень":
print(f"бот выбрал {c}")
print(f"ничья. Твои очки: {user_stats}")
if u == "к" and c == "ножницы":
print(f"бот выбрал {c}")
print(f"ты победил. Твои очки: {user_stats: += 1}")
if u == "к" and c == "бумага":
print(f"бот выбрал {c}")
print(f"ты проиграл. Твои очки: {user_stats: -= 1}")
if u == "н" and c == "камень":
print(f"бот выбрал {c}")
print(f"ты проиграл. Твои очки: {user_stats: -= 1}")
if u == "н" and c == "ножницы":
print(f"бот выбрал {c}")
print(f"ничья. Твои очки: {user_stats}")
if u == "н" and c == "бумага":
print(f"бот выбрал {c}")
print(f"ты победил. Твои очки: {user_stats: += 1}")
if u == "б" and c == "камень":
print(f"бот выбрал {c}")
print(f"ты победил. Твои очки: {user_stats: += 1}")
if u == "б" and c == "ножницы":
print(f"бот выбрал {c}")
print(f"ты проиграл. Твои очки: {user_stats: -= 1}")
if u == "б" and c == "бумага":
print(f"бот выбрал {c}")
print(f"ничья. Твои очки: {user_stats}")
if user_stats == 10:
print("ты прошёл игру!")
sys.exit()
if user_stats == 0:
print("если твои очки будут меньше 0, то ты проиграешь")
if user_stats < 0:
sys.exit()
已经显示了一个不同的错误,因为我应一位评论员的要求在 user_stats 之后添加了“:”,对代码进行了轻微修改:
print(f"ты победил. Твои очки: {user_stats: += 1}")
ValueError: Invalid format specifier
为什么需要它
+= 1?没有这个,点的显示正常显示。如果有任何与此相关的逻辑,则需要单独编写,而不是打印。而不是不正确的表达方式
(在函数参数的 f 字符串中
print())在每个这样的命令之前,通过赋值
print(...)更改变量的值user_stats然后在命令本身
print(...)中,仅使用{user_stats}.(同样,当然,对于每个人
{user_stats: -= 1}。)解释:
在冒号 ( ) 之后,
:需要一个格式规范,例如05d,您 的规范是
+= 1或-= 1不是有效的规范。