Cow_id_list = []
Herd_Size = int(input("Enter the size of the herd."))
for x in range(Herd_Size):
Cow_id = int("Enter a unique 3 digit ID tag for cow",x+1)
Cow_id_list.append(Cow_id)
print("Initiating yield entry...")
用户输入一个整数(n),它将存储在变量Herd_Size中。如何使用相同(n)个键和我们选择的名称创建字典? 键值名称为ID标记
答案 0 :(得分:2)
这是一种方式。
Cow_id_list = []
Yield_list = []
Herd_Size = int(input("Enter the size of the herd."))
for x in range(Herd_Size):
Cow_id = int(input("Enter a unique 3 digit ID tag for cow"))
Yield = int(input("Enter yield for {0}".format(Cow_id)))
Cow_id_list.append(Cow_id)
Yield_list.append(Yield)
d = dict(zip(Cow_id_list, Yield_list))
<强>解释强>
Cow_id
的整数输入,方法与Herd_Size
相同。Yield
执行相同操作。创建一个Yield_list
,如Cow_id_list
。dict(zip(ids, yields))
在最后创建字典。 zip
用于通过索引同时迭代2个列表。dict
将根据结果值对创建字典。为了进一步改善你的逻辑,我建议你考虑添加一些控件;例如,确保id实际上由3位数组成。
答案 1 :(得分:2)
jpp的方式可能更好,因为你可以同时获得收益和ID。但是,如果你想保留你的结构,你可以这样做:
Cow_id_list = []
Herd_Size = int(input("Enter the size of the herd."))
for x in range(Herd_Size):
Cow_id = int(input("Enter a unique 3 digit ID tag for cow"))
Cow_id_list.append(Cow_id)
print("Initiating yield entry...")
d = {}
for i in Cow_id_list:
y = float(input("Enter yielf for cow {}: ".format(i)))
d[i] = y
这里发生的是你将d
作为空字典启动,然后遍历你的牛ID,逐个获得产量,然后为每头奶牛添加一个密钥,相应的产量为字典d
的值。
答案 2 :(得分:0)
不确定为什么需要创建具有特定数量键的字典。您可以询问用户有关ID和产量的输入,并将其放入字典中。
如果你有10头奶牛,你就不会有15个ID和产量。
def add_cow_info():
add_info = str(input("input cow id and yield?: (y/n)")
if add_info == "y":
return True
elif add_info == "n":
return False
def main():
cow_yield = {}
input_cow = True
while input_cow():
ID = str(input("Enter ID: ")) #if the ID is 001, or 010, the result
# will be 1, 10, respectively.
#Generally keys should be strings anyways.
_yield = int(input("Enter yield: "))
cow_yield[ID] = _yield
return cow_yield