Python中带排序的购物清单
“编写一个程序,提示用户输入5种商品及其价格。然后,该程序应将输入的商品从最高价格排序到最低价格,并输出显示商品及其价格的排序数据。” 到目前为止,我还不知道接下来该怎么做,如果用户只需输入价格,我就可以了,但商品名称也必须输出:Python中带排序的购物清单,python,sorting,input,output,price,Python,Sorting,Input,Output,Price,“编写一个程序,提示用户输入5种商品及其价格。然后,该程序应将输入的商品从最高价格排序到最低价格,并输出显示商品及其价格的排序数据。” 到目前为止,我还不知道接下来该怎么做,如果用户只需输入价格,我就可以了,但商品名称也必须输出: print("Welcome To Shopping List!") item1 = raw_input('Enter First Item') item1price = int("Enter First Item Price: ") item2 = raw_i
print("Welcome To Shopping List!")
item1 = raw_input('Enter First Item')
item1price = int("Enter First Item Price: ")
item2 = raw_input(input('Enter First Item'))
item2price = int(input("Enter Second Item Price: "))
item3 = raw_input('Enter First Item')
item3price = int(input("Enter Third Item Price: "))
item4 = raw_input('Enter First Item')
item4price = int(input("Enter Fourth Item Price: "))
item5 = raw_input('Enter First Item')
item5price = int(input("Enter Fifth Item Price: "))
data = [(item1, item1price), (item2, item2price), (item3, item3price), (item4, item4price)]
data = [int(x) for x in data]
data.sort()
输出需要如下所示,按从最高到最低的价格排序:
Coffee 4.99
Kitchen
Towel 1.75
Butter 1.70
Milk 0.45
我是python新手,因此非常感谢您的帮助 不要为你的商品和价格设置10个或更多的变量,而是询问用户他/她想要多少。使用该数字循环并将输入存储在元组中,然后附加到列表中。再次使用
'for'
循环显示数据
#!/usr/bin/env python3.6
# Write a program to prompt the user to enter a number of items and their prices.
# The program should then sort the input from highest to lowest price and
# output the sorted data showing the item and the price.
print("Welcome To Shopping List!")
numItems = input("How many items do you want? ")
myTup = ()
myList = []
for x in range(int(numItems)):
itemName = input("Enter item name: ")
itemPrice = input("Enter item price: ")
myTup = (itemPrice, itemName)
myList.append(myTup)
myList.sort()
for x in range(len(myList)): print(myList[x][1] + " = " + myList[x][0])
在py3中使用
input()
,在py2中使用raw\u input()
,不要混用int()
在字符串上没有输入显然也是失败的。如果您将其放入范围(5)中的i的循环中,您将保存一些代码并帮助避免这些错误!去掉所有那些编号的变量。您应该使用循环,并将数据直接保存到元组列表中。通过重复复制和粘贴来编写代码。它使代码更容易出错,冗长,更难阅读。请注意,您将获取项目名称的提示搞乱了:它们都说raw\u input('Enter First item')
。和item1price=int(“输入第一项价格:”)
将引发ValueError。如果您对元组中的值进行重新排序(价格优先),您可以按降序对包含元组的列表进行排序,一切正常。顺便说一句,如果将价格转换为整数,则不会得到类似4.99
的值。数据的排序在哪里?