我试图用Python编写一个猜谜游戏.我有一个名为bingo_calculator()的函数,它从字典值中获取一个12个字符的Y/N字符串作为参数(即ynnynyyyn),然后根据游戏规则返回一个整数值.

我的方法是复制字典(这样原始猜测就不会被覆盖),让函数计算整数值,并用新的计算值替换复制的字典中的字符串.从那里,我想按降序对整数排序.我不知道如何使字典的值自动更新到对应于函数输出的值.

bingo_entries_190_copy = bingoGuesses190.bingo_entries_190.copy() #makes a copy of the dictionary
for value in bingo_entries_190_copy.values():
       print(bingo_calculator(value)) # outputs the integers on the terminal 

以下是该词典的示例:

bingo_entries_190_copy = {

    'Craig': 'NNNNNYNYNYYY',
    'Hirohito': 'YNNNNNNYNYNN',
    'Elemér': 'NYNNYNYYNYYY',
    'Muddy': 'NNYNYNYYNNYY',
    'Kamen': 'NNNNNYYYYYYN',
    'Hiram': 'NNYNNNYNNNYY',
    'Rin': 'NYNNNYYBYNNN',
    'Gessica':  'YNNNNYNYNYNN',
    'Pavlina': 'NNNYNYNNNNYY'
}

预期输出为:

bingo_entries_190_copy = {

    'Muddy': 480,
    'Pavlina': 430
    'Hiram': 380,
    'Craig': 160,
    'Elemér': 160,
    'Hirohito': 30,
    'Gessica':  10,
    'Kamen': -30,
    'Rin': -110,

}

其中,当12个字符的Y/N字符串通过宾果计算器()时,返回整数.然后我需要这些条目根据整数按降序排序.

我该怎么办?

推荐答案

这就是你要找的吗?

guess_results = {}
for key in bingoGuesses190:
    guess_results[key] = bingo_calculator(bingoGuesses190[key])

要同时根据整数值按降序打印和排序词典,请执行以下操作:

for entry in sorted(guess_results, key=guess_results.get, reverse=True):
    print(entry, guess_results[entry])

Python相关问答推荐

使用Keras的线性回归参数估计

Select 用a和i标签包裹的复选框?

对Numpy函数进行载体化

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

通过Selenium从页面获取所有H2元素

管道冻结和管道卸载

如何过滤包含2个指定子字符串的收件箱列名?

Python键入协议默认值

移动条情节旁边的半小提琴情节在海运

多处理队列在与Forking http.server一起使用时随机跳过项目

基于行条件计算(pandas)

Pandas—堆栈多索引头,但不包括第一列

以异步方式填充Pandas 数据帧

Python将一个列值分割成多个列,并保持其余列相同

使用python playwright从 Select 子菜单中 Select 值

删除特定列后的所有列

Pandas:将值从一列移动到适当的列

在matplotlib中重叠极 map 以创建径向龙卷风图

BeatuifulSoup从欧洲志愿者服务中获取数据和解析:一个从EU-Site收集机会的小铲子

如何从一个维基页面中抓取和存储多个表格?