我可以简单地用这个代码。

时间:2018-01-04 05:22:59

标签: python

cows = ["aaa","aab","aac","aad","aae","aaf","aag","aah","aai"]
h = ["aaa","aab","aac","aad","aae","aaf","aag","aah","aai"]
test1 = []
day1 = []
day2 = []
day3 = []
day4 = []
day5 = []
day6 = []
day7 = []
aaa = []
days = ["Day 1", "Day 2", "Day 3", "Day 4", "Day 5", "Day 6", "Day 7"]
w = ["Day 1", "Day 2", "Day 3", "Day 4", "Day 5", "Day 6", "Day 7"]
print("Here are your cows :")
print(h)
print("You will need to input the total liters the cow has milked during the day starting from cow aaa to aai.")
for x in range(7):
    print(days[0], end = " ")
    days.pop(0)
    cows = h[0:9]
    for x in range(9):
        print("Cow : ", cows[0])
        test1.append(float(input("How many liters did you milk the cow? ")))
        cows.pop(0)
aaa= list(test1)
for x in range(8):
    aaa.pop(1)
for x in range(8):
    aaa.pop(2)
for x in range(8):
    aaa.pop(3)
for x in range(8):
    aaa.pop(4)
for x in range(8):
    aaa.pop(5)
for x in range(8):
    aaa.pop(6)
for x in range(8):
    aaa.pop(7)
aab= list(test1)
for x in range(1):
    aab.pop(0)
for x in range(8):
    aab.pop(1)
for x in range(8):
    aab.pop(2)
for x in range(8):
    aab.pop(3)
for x in range(8):
    aab.pop(4)
for x in range(8):
    aab.pop(5)
for x in range(8):
    aab.pop(6)
for x in range(8):
    aab.pop(7)
aac= list(test1)
for x in range(2):
    aac.pop(0)
for x in range(8):
    aac.pop(1)
for x in range(8):
    aac.pop(2)
for x in range(8):
    aac.pop(3)
for x in range(8):
    aac.pop(4)
for x in range(8):
    aac.pop(5)
for x in range(8):
    aac.pop(6)
for x in range(5):
    aac.pop(7)

我试图找到一种方法来简化最后一部分,使它看起来更整洁,更容易阅读。 这是杀死我的最后一部分。 aaa = list(test1)------- aac.pop(7)

另外,你可以运行它并告诉我你对它的意见吗?就像我应该添加什么应该删除。我将在第1天 - 第7天之后列出一些内容。任何意见都将不胜感激<3。

非常感谢你们, 艾哈迈德

1 个答案:

答案 0 :(得分:0)

首先,不是从列表中弹出奶牛,为什么不迭代它们而不是每天奶牛保持不变时重新创建列表呢?

cows = h[0:9]
for x in range(9):
    print("Cow : ", cows[0])
    test1.append(float(input("How many liters did you milk the cow? ")))
    cows.pop(0)

可以更改为:

for cow in cows:
    print("Cow : ", cow)
    test1.append(float(input("How many liters did you milk the cow?")))

此外test1已经是一个列表。没有理由明确转换它。 你可以简单地说

aaa = test1

至于最后几行,您可以执行以下操作来减少拨打range()的次数:

# For this many days
for x in range(8):
    # Pop the value of liters milked from the cows for that day.
    for y in range(5):
        aaa.pop(y)