python - 我如何使用函数对两个数组进行洗牌,以便打印出随机卡片
问题描述
我希望它通过洗牌来打印一张随机卡片,例如 4 of heart 这是我当前的代码,它一直打印 None of None
提前致谢
def exchange(SUITS, i, suits):
temp = SUITS[i]
SUITS[i] = SUITS[suits]
SUITS[suits] = temp
return SUITS[suits]
def shuffle():
SUITS = ['Clubs', 'Diamonds', 'Hearts' , 'Spades']
n = len(SUITS)
for i in range(n):
suits = random.randrange(0,n)
exchange(SUITS,i, suits)
def exchange2(RANKS, i, ranks):
Temp = RANKS[i]
RANKS[i] = RANKS[ranks]
RANKS[ranks] = Temp
return RANKS[ranks]
def shuffle2():
RANKS = ['2', ' 3', '4', '5', '6' , '7' , '8', '9','10',
'Jack', 'Queen', 'King','Ace']
n = len(RANKS)
for i in range(n):
ranks = random.randrange(0,n)
exchange2(RANKS,i, ranks)
w = shuffle()
z = shuffle2()
print(str(z) + ' of ' + str(w))
解决方案
根据我在您的问题陈述中的理解,我想您可以简单地执行以下操作:
import random
def shuffle():
SUITS = ['Clubs', 'Diamonds', 'Hearts' , 'Spades']
RANKS = ['2', ' 3', '4', '5', '6' , '7' , '8', '9','10',
'Jack', 'Queen', 'King','Ace']
randomSuit = random.randrange(0, len(SUITS))
randomRank = random.randrange(0, len(RANKS))
print(RANKS[randomRank] + " of " + SUITS[randomSuit])
shuffle()
让我知道这是否是您所期望的。
如果你想从不同的函数中得到等级和花色,那么也可以稍微修改一下来实现。
import random
def shuffleRank():
RANKS = ['2', ' 3', '4', '5', '6' , '7' , '8', '9','10',
'Jack', 'Queen', 'King','Ace']
randomRank = random.randrange(0, len(RANKS))
return RANKS[randomRank]
def shuffleSuit():
SUITS = ['Clubs', 'Diamonds', 'Hearts' , 'Spades']
randomSuit = random.randrange(0, len(SUITS))
return SUITS[randomSuit]
print (shuffleRank() + " of " + shuffleSuit())
推荐阅读
- java - 默认 Spring 错误响应的 JSON 模式是什么?
- android - create-react-native-app 混淆不是创建 App.js 文件
- sql - 在 VB.net 中创建 SQL 参数 char(7)
- react-native - react-native-obfuscating-transformer 不会混淆任何代码
- redis - Redis SMEMBERS 是确定性的吗?
- reactjs - 如何在反应中解析/比较时刻对象?
- r - ggplot 中有没有办法在具有不同字体类型的相同 x 轴标签中拥有 2 个不同的变量?
- powerbi - 在卡片视觉上总结创建的度量
- python - 如何使用 roc_auc_score 更改情节图例?
- android - 从jiofi网络和jio热点调用谷歌云运行api url的问题