python - 将整数分配给列表

标签 python python-3.x if-statement variable-assignment

我正在尝试询问用户:
如果他们抽到了一张 A,询问他们想要是 1 还是 11。 他们回答一个整数,并且意味着将其设置为 1 或 11。不幸的是,当我运行时,它仍然是 ace。

import time
import random
from random import *

suits = ["Hearts","Diamonds","Clubs","Spades"]
cards = ["Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"]

def drawcard():
    global newcardtype
    global newcardsuit
    global newcard
    newcardtype = cards[randint(0,11)] ##User interface & Console
    newcardsuit = suits[randint(0,3)] ##User interface & Console
    newcard = newcardtype, newcardsuit ##Console to read and understand
    print("You picked up: " + str(newcardtype) + " of " + str(newcardsuit) + ".")

suits[0] = "♡"
suits[1] = "♢"
suits[2] = "♧"
suits[3] = "♤"    

cards[10] = 10
cards[11] = 10
cards[12] = 10

while(True):
    test = input("New card? ")
    if test == "y":
        drawcard()
        if newcardtype == cards[0]:
            acequestion = int(input("You picked up an Ace. Would you like your Ace to be 1 or 11?: "))
            if acequestion == 1:
                cards[0] = int(1)
            if acequestion == 11:
                cards[0] = int(11)
        print(newcardtype)

它处于工作状态,但我希望根据“acequestion”问题的答案,“ace”的 cards[0] 等于 1 或 11。

最佳答案

您将数字 1 或 11 分配给 cards[0],但这不会更改 newcardtype 引用的对象或值,因此它仍然值为'ace'。如果您想更改 newcardtype 的值,您还必须为其分配 1 或 11。

关于python - 将整数分配给列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46359466/

相关文章:

python - Windows下查看Python程序最大内存使用

python - 尝试使用正则表达式在起点和终点之间找到一个大字符串

java - 如果语句不适用于 JTextfield 到字符串的比较

python - Pandas SQL block 大小

python - 如何使用 ruamel.yaml 而不是 pyyaml 通过 python 编辑 YAML 文件?

python - 为什么 IPython 在它启动的目录中执行 code.py?

Java字符比较错误

batch-file - 为什么在 if 语句中无法获取延迟扩展变量的子字符串?

Python Jupyter Notebook 无法正确应用函数

python - VScode 看不到 pyenv python 解释器