python - 为什么我的 for 循环运行次数超过我指定的次数?
问题描述
我希望这会给我 stats 字典中的 9 个键,但我得到了 27 个。为什么会发生这种情况以及如何实现我想要得到的结果?
import random
def statsGen():
"Will generate an npc's stats"
level = 3
const = random.randint(1, 20)
str = random.randint(1, 20)
dext = random.randint(1, 20)
perc = random.randint(1, 20)
intel = random.randint(1, 20)
will = random.randint(1, 20)
char = random.randint(1, 20)
sp = random.randint(1, 20)
luck = random.randint(1, 20)
stats = {'Const':const,'Str':str,'Dext':dext,'Perc':perc,'Int':intel,'Will':will,'Char':char,'Sp':sp,'Luck':luck}
for level in stats:
stat1 = random.choice(list(stats))
print(stat1)
stat2 = random.choice(list(stats))
print(stat2)
stat3 = random.choice(list(stats))
print(stat3)
statsGen()
解决方案
对于每次迭代,您都会打印 3 个统计信息(stat1、stat2、stat3)。因此,如果您遍历统计字典(9 个循环),它会为您提供 27 个打印的统计信息。
推荐阅读
- logging - 为什么请求标头数据未记录在消息 Logging Policy Apigee 中?
- c++ - 模板函数包裹的lamda类型推导
- javascript - 如何映射数据并返回文档
- android - cmd package install-create -r -t --user current --full --dont-kill -S 9161306'返回错误'未知故障:cmd:找不到服务:包
- azure - 自托管集成运行时在运行可变时间后停止工作
- pyqt5 - Qt Designer:为什么边框半径在 QTableWidget 中不起作用?
- java - java.lang.NumberFormatException:对于输入字符串:“”-StringBuilder
- python - 使用 Python 写入 CSV 时如何将多个段落写入一个单元格
- css - 导航栏切换上的 Bootstrap 5 暗背景
- css - 如何使用 CSS 使 div 的左侧像这样?