我遇到了一个问题,要求我编写一个使用嵌套循环和范围函数打印出以下显示的函数:
SD1, SD2, SD3, SD4, SD5, SD6,
HD1, HD2, HD3, HD4, HD4, HD6, HD7, HD8, HD9, HD10, HD11,
CD1, CD2, CD3, CD4
我知道如何使用 for 循环和范围来打印每一行,但我不确定如何使用嵌套循环来打印所需的显示。我们还没有学习字典,我们只是真正了解了如何使用列表。
我知道我可以执行以下操作来打印第一行,但使用嵌套循环来打印其余部分对我来说似乎不合逻辑。在给导师发电子邮件之前,我认为最好在这里寻求指点,以防我遗漏了什么。有什么建议吗?
for i in range(1, 7):
print(f'SD{i},', end=' ')
print('')
for i in range(1,12):
print(f'HD{i},' end=' ')
print('')
for i in range(1,5):
print(f'CD{i},' end=' ')
请您参考如下方法:
您应该使用 OrderDict 来保存输入格式,这样您的插入顺序就会被保留。只需在您编写的代码上添加一个循环。就像下面的例子
from collections import OrderedDict
type_of_string = OrderedDict({'SD': 7,'HD': 12,'CD': 5})
for key,value in type_of_string.items():
for i in range(value):
print(key + str(i), end=', ')
print()
编辑 仅使用列表:
type_of_string = [['SD', 7],['HD', 11],['CD', 5]]
for a in type_of_string:
for i in range(a[1]):
print(a[0] + str(i), end=', ')
print()
