1

我得到的错误是 += 不是用于 int 和 string 的操作,代码是

while True:
    cards = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14']
    DC = random.choice(cards)
    PC += DC
    card = random.choice(cards)
    CC += DC
    again = input("again : ")
    if again == "no":
        print("Ok")
        if 21 < PC:
            print("YOU LOSS")
            break
        elif PC > CC:
            print("YOU WON")
            break
        else:
            print("YOU LOSS")
            break
    elif 21 < PC:
        print(nick, "LOSE")
        break

问题在于 PC += DC 和 CC += DC

4

1 回答 1

1

您的卡片变量是字符串列表,而不是整数。你不能在 python 中将一个字符串和一个整数相加。它们是单独的类。

编辑:我假设您将 PC 和 CC 分配给 0 编辑 2:不知道“尼克”变量分配给什么。不应该做差异。

import random
PC= 0 # <--|  not sure if they are what you are assigning them 

while True:
    cards = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14']
    DC = random.choice(cards)
    PC += int(DC) # <-- Notice
    card = random.choice(cards)
    CC += int(DC)# <-- Notice
    again = input("again : ")
    if again == "no":
        print("Ok")
        if 21 < PC:
            print("YOU LOSS")
            break
        elif PC > CC:
            print("YOU WON")
            break
        else:
            print("YOU LOSS")
            break
    elif 21 < PC:
        print(nick, "LOSE")
        break

给你!

结果:

again : >? 23
again : >? 2
again : >? 54
LOSE
于 2018-05-18T23:24:52.213 回答