【python之路】【2、编程基础】Python学习中的问题1

【列表中的重复数据,使用for循环遍历列表时,最后只取一次。】

 1 #商店里的商品列表
 2 com = [
 3     ("iphone",5800),
 4     ("macbook",9000),
 5     ("coffee",320),
 6     ("pythonbook",80),
 7     ("bicyle",1500)
 8     ]
 9 shoplist = []#购物车变量
10
11 salary = input("请输入您的预算:")#总共有5000改为可以选多少钱
12 if salary.isdigit():#验证
13     salary = int(salary)
14     yue = salary
15
16     while yue >= 0: #形成一个无限循环
17
18         for i, v in enumerate(com, 1):  # 打印商品内容
19             print(i, ‘>‘, v)
20         comd_num = input("输入商品编号(1...5)或退出(q):")    #引导选择商品
21
22         if comd_num.isdigit():  #验证输入是否合法
23             comd_num = int(comd_num)
24             if comd_num > 0 and comd_num <= len(com):
25                 p_com = com[comd_num-1] #将选择的商品选出来
26                 if p_com[1] < yue:
27                     yue -= p_com[1] # 买了要扣预算
28                     shoplist.append(p_com)
29                     print("购物车商品有:", shoplist)
30                     print("余额还有:", yue)
31                 else:
32                     print("购物车商品有:", shoplist) # 用户选商品编号,调用商品价格进行判断钱够不够
33                     print("您的余额不足!还有%s"%yue)
34             else:
35                 print("无此商品")
36         elif comd_num == "q":
37             print("-------------您已购买如下商品--------------")
38             for i in shoplist:
39                 if shoplist.count(i) >= 2:
40                     print(i,"*",shoplist.count(i))
41                 else:
42                     print(i)
43             print("--------------欢迎下次光临!---------------")
44             break
45         else:
46             print("非法字符")

余额 = 200 买了2本书,退出后的结果是

输入商品编号(1...5)或退出(q):q
-------------您已购买如下商品--------------
(‘pythonbook‘, 80) * 2
(‘pythonbook‘, 80) * 2
--------------欢迎下次光临!---------------

怎么处理才能变成

-------------您已购买如下商品--------------
(‘pythonbook‘, 80) * 2
--------------欢迎下次光临!---------------

原文地址:https://www.cnblogs.com/watalo/p/11495094.html

时间: 2024-07-31 02:53:06

【python之路】【2、编程基础】Python学习中的问题1的相关文章

python之路,Day24 常用设计模式学习

python之路,Day24 常用设计模式学习 本节内容 设计模式介绍 设计模式分类 设计模式6大原则 1.设计模式介绍 设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一

Python 之路 Day06 类基础和概念

本章大纲: 类的对象和类的区别 类的名称空间 __dict__ 类的对象的名称空间 __dict__ 绑定方法和非绑定方法 类和类型 变量变形(封装变量,控制变量引用)__ 类的绑定方法 id命令分析内存地址(类的名称空间属性和类对象名称空间属性内存指向) is命令(比较内存地址指向) property类对象的属性方法 staticmethod类对象的非绑定方法 __str__自定义str(self)  类对象字符串格式打印 类的继承 __bases__显示类的继承 类的继承查找顺序 类的继承查

Python之路,day16-Python基础

Python之路,day16-javascript基础 发展历史:     1.table     2.table + css     3.div + css js: js简介: 1.JavaScript 被设计用来向 HTML 页面添加交互行为. 2.JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言). 3.JavaScript 通常被直接嵌入 HTML 页面. 4.JavaScript 是一种解释性语言(就是说,代码执行不进行预编译) 浏览器---解释器: 1.html解

Python之路,day22-BBS基础

Python之路,day22-BBS基础 多级评论 from django.template import Library from django.utils.safestring import mark_safe register = Library() @register.simple_tag def truncate_upload_img(img_src): print(dir(img_src)) print(img_src.name) return img_src.name.lstrip

【Python教程】《零基础入门学习Python》(小甲鱼)

[Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609 原文地址:https://www.cnblogs.com/F4NNIU/p/9765629.html

Bash编程基础知识学习第一节

Bash编程基础知识学习 一.bash的由来 1 .什么是Bash 什么是Shell Bash 是GNU Bourne-Again SHell,是目前大多数Linux发行版采用的Shell. Shell 是*nix提供给用户使用的界面.一个操作系统的底层是独立运行的, 用户界面和底层分开,可以最大限度的保证系统稳定.Shell就是一个特殊的程序,负责接受用户的命令,并把系统的响应返回给用户. Bash Shell 一般不需要自己安装,在安装发行版的同时都会安装好. Shell的存在是和登陆相关的

Python之路番外:PYTHON基本数据类型和小知识点

Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and (car == "moving"): car = "stop" else : pass 等同于 if (signal == "red") and (car == "moving"): car = "stop"

python之路---面向对象编程(一)

一.设计思想的发展 面向机器(代码复杂,效率低,学习成本高,开发周期长)-------->面向过程(扩展性差,不适用多变的需求改变)----------->面向对象(扩展性好,但是可控性差) 二.面向过程和面向对象对比 面向过程: 定义:面向过程的核心是过程(即流水线式设计),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了程序的复杂度 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也

python之路 -- 并发编程之线程

进程 是 最小的内存分配单位 线程 是 操作系统调度的最小单位 线程直接被CPU执行,进程内至少含有一个线程,也可以开启多个线程 开启一个线程所需要的时间要远远小于开启一个进程 GIL锁(即全局解释器锁) 锁的是线程 在Cpython解释器下的python程序 在同一时刻 多个线程中只能有一个线程被CPU执行 1.创建线程的两中方式: import time from threading import Thread def func(args): time.sleep(1) print(args

JAVA学习之路三 编程英文汇总学习

JAVA学习中的每个章节中都有许多英文,不断熟悉工作英语也是提高编程能力很重要的一块,对于IT行业,英语才是通用语. 记在<JAVA语言程序设计>学习的第一章英文学习之后 .class file(.class文件)                       javac command(javac命令)          .java file(.java文件)            java Development Toolkit(JDK,java开发工具包)          assembl