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标记
发布于 2018-04-01 14:38:57
这是一条路。
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将从结果的值对创建一个字典。为了进一步改进您的逻辑,我建议您考虑添加一些控件;例如,为了确保I实际上由3位数字组成。
发布于 2018-04-01 14:43:47
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中。
发布于 2018-04-01 15:07:06
不确定为什么需要创建一个具有特定数目的键的字典。您只需向用户请求输入ID,并将其放入字典中即可。
如果你有10头牛,你就不会有15头母牛的身份和产量。
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_yieldhttps://stackoverflow.com/questions/49599075
复制相似问题