您好,登錄后才能下訂單哦!
要求:
1,讓用戶輸入有多少錢:
2,輸出用戶能夠買的東西
3,把用戶買的東西放在列表里
4,計算用戶還有多少錢,直到不能購買任何商品為止,
5,用戶只要選擇商品,不能退換
Python 2.7版本
代碼實現:
# -*- coding: utf-8 -*- products = ["book","plane","phone","fan","hen","bed","car"] price = [65, 100000,10000,70,25,1250,1000000] shop_list= [] salary = int(raw_input("please input your money:")) while 1: print u'請從以下商品中挑選一個或者幾個購買:' for i in range(0,len(products)): if (salary>=price[i]): print products[i],price[i] print "+---------------------------------+" choice = raw_input("please choice a shop to buy:") F_choice = choice.strip()#去除空格,格式化輸出。 if F_choice in products: product_price = price[products.index(F_choice)] #取出產品價格 print "+---------------------------------+" print u"你要購買的商品以及價格:",F_choice,product_price print u"商品正在加入購物列表,請稍等" if salary > product_price: shop_list.append(F_choice) salary = salary - product_price print "+---------------------------------+" print u"%s已經添加到你的購物列表" % F_choice print u"你的余額還有:", salary print u"你已經購買的商品有:", shop_list print "+---------------------------------+" else: pass else: print u"你輸入的商品不在商品列表里,請重新輸入!"
如果商品在文件里,可以用下面的代碼進行處理成一個列表:
#-*-coding:utf-8 -*- products=[] prices=[] f = file("jiage.txt") for line in f.readlines(): new_line = line.split() products.append(new_line[0]) prices.append(int(new_line[1])) print products print prices
執行結果
最終篩選的執行結果:
總結:
product_price = price[products.index(F_choice)] #取出產品價格
這行代碼python2.7和Python2.6貌似不大一樣。
另外一種寫法是:
product_price = price[products.index[F_choice]] #取出產品價格
但是會報下面的錯誤,下面的是我粘貼過來的:只要改成()的寫法就行了。
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。