簡體   English   中英

如何對 Python 列表的特定整數值求和

[英]How to sum specific integer values of Python List

我正在嘗試使用 sum 函數對列表中的整數值求和。 不幸的是,它添加了列表的所有值,但沒有添加用戶需要的值。

這是我的代碼:

tourist_attractions = []
distance = []
entry_cost = []

for i in range(3):
    tourist_attractions.append (input("Enter Tourist place: "))


    tourist_distance =(int(input("Enter distance: ")))

    if tourist_distance > 50:
        print("Invalid Entry")
        continue

    if tourist_distance <= 50:
        distance.append(tourist_distance)

    cost = (float(input("Enter cost: ")))

    if cost > 100:
        print("cost must be between 1-100")
        continue

    if cost > 0 or cost <= 100:
        entry_cost.append(cost)

print()

for line in tourist_attractions:
    print("Place:", line)

for line in distance:
    print("Distance:", line)

for line in entry_cost:
    print("Cost:", line)


print()

number_of_places_to_visit = int(input("Total number of places to visit: "))

x = 1

while x <= number_of_places_to_visit:

    select_tourist_place = input("select tourist place, 0-3: ")

    x = x + 1


    if select_tourist_place == "0":
        print(tourist_attractions[0], distance[0], entry_cost[0])

    elif select_tourist_place == "1":
        print(tourist_attractions[1], distance[1], entry_cost[1])

    elif select_tourist_place == "2":
        print(tourist_attractions[2], distance[2], entry_cost[2])

    elif select_tourist_place == "3":
        print(tourist_attractions[3], distance[3], entry_cost[3])

    elif select_tourist_place == "4":
        print(tourist_attractions[4], distance[4], entry_cost[4])



print("total cost: " , sum(entry_cost))

結果我得到:

Enter Tourist place: London
Enter distance: 25
Enter cost: 15
Enter Tourist place: Manchester
Enter distance: 30
Enter cost: 15
Enter Tourist place: Scotland
Enter distance: 50
Enter cost: 20

Place: London
Place: Manchester
Place: Scotland
Distance: 25
Distance: 30
Distance: 50
Cost: 15.0
Cost: 15.0
Cost: 20.0

Total number of places to visit: 2
select tourist place, 0-3: 0
London 25 15.0
select tourist place, 0-5: 1
Manchester 30 15.0
total cost:  50.0
>>> 

我可以理解,目前它正在總結所有附加的 entry_cost 列表,並給我總共 50 個,其中應該是來自倫敦的 15 個和來自曼徹斯特的 15 個。 有什么幫助嗎?

print("total cost: " , sum(entry_cost))

絕對說明您正在迭代所有入門成本。 您可能想要存儲選定的索引並對這些索引的條目求和。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM