如何在python中使用逗号格式化数字

如何在python中使用逗号格式化数字,python,formatting,Python,Formatting,我不得不用Python3.4编写这个翻模程序。我的程序运行良好,但我想在列表中显示结果,而不是一行,我想在数字的适当位置插入逗号。我是否需要为每个结果键入打印函数,还是有更简单的方法?是否有一种在代码中全局应用格式的方法? 我很感激能在这件事上得到的任何帮助。 谢谢 这是我的密码: import random random.seed() I = 0 II = 0 III = 0 IV = 0 V = 0 VI = 0 for count in range(6000000): die =

我不得不用Python3.4编写这个翻模程序。我的程序运行良好,但我想在列表中显示结果,而不是一行,我想在数字的适当位置插入逗号。我是否需要为每个结果键入打印函数,还是有更简单的方法?是否有一种在代码中全局应用格式的方法? 我很感激能在这件事上得到的任何帮助。 谢谢

这是我的密码:

import random
random.seed()
I = 0
II = 0
III = 0
IV = 0
V = 0
VI = 0
for count in range(6000000):
    die = random.randint(1, 6)
    if die == 1:
        I = I+1
    elif die == 2:
        II = II+1
    elif die == 3:
        III = III+1
    elif die == 4:
        IV = IV+1
    elif die == 5:
        V = V+1
    else:
        if die == 6:
            VI = VI+1

print('Here are the results:', '1 =', V, '2 =', II, '3 =', III, '4 =', IV, \
      '5 =', V, '6 =', VI)
print('Total Rolls equal:', I+II+III+IV+V+VI)

您可以使用
dict
以更简单的方式存储模具辊的结果。这将允许您循环所有结果,而不是为每个结果编写单独的
print
语句。它还大大简化了您的代码

例如:

import random
results = {1:0, 2:0, 3:0, 4:0, 5:0, 6:0}
for count in range(6000000):
    die = random.randint(1, 6)
    results[die] += 1

print('Here are the results:')
# Loop over the *keys* of the dictionary, which are the die numbers
for die in results:
    # The format(..., ',d') function formats a number with thousands separators
    print(die, '=', format(results[die], ',d'))
# Sum up all the die results and print them out
print('Total rolls equal:', sum(results.values()))
以下是一些示例输出:

Here are the results:
1 = 1,000,344
2 = 1,000,381
3 = 999,903
4 = 999,849
5 = 1,000,494
6 = 999,029
Total rolls equal: 6000000

注意,对于这个简单的示例,我们还可以使用
列表
来存储结果。但是,由于零索引和一索引之间的索引转换,代码将不太清晰。

以下是您的程序,简化了一点,并使用逗号作为千位分隔符:

import random
from collections import Counter
counts = Counter()
for count in range(6000000):
    counts[random.randint(1, 6)] += 1
print('Here are the results:', end=' ')
for i, c in sorted(counts.items()):
    print('{} = {:,}'.format(i, c), end=' ')
print('Total rolls equal: {:,}'.format(sum(counts.values())))

这样,它的输出与您的示例中的输出相同,只是分隔符不同,但是删除
end='
只会使它更漂亮。

您能举一个输出的示例吗?谢谢大家的帮助!非常感谢。上一次我尝试编写任何程序时,我只是一个拥有全新苹果IIe的孩子。我希望我可以说,我是故意让这个小程序运行的,但事实是,我有大约6个不同版本的程序,我一直在工作,直到我组装了这个程序,它工作正常。再次感谢各位!