Python之路【第四篇】Python基础2
一、格式化输出
按要求输出信息
name=input("name:")
age=int(input("age:"))
job=input("job:")
salary=input("salary:")
if salary.isdigit(): #长得像不像数字,比如200d,‘200’
salary=int(salary)
else:
exit("must input digit!")
msg='''
---------info of %s-------------
Name: %s
Age: %d
Job: %s
Salary: %f
You'll retire in %s years.
-----------end------------------
'''%(name,name,age,job,salary,65-age)
print(msg)
二.循环
登录三次,不成功打印error
(1)for循环
#passed_authentication=False
for i in range(3):
username=input("username:")
passwd=input("password:")
if username=="admin" and passwd=="admin":
# passed_authentication=True
print("Welcome!")
break #跳出,中断 break for后就不会执行后面的else语句
else:
print("try again!")
else: #只要上面的循环正常执行完毕,中间没被打断,就会执行else语句
#if not passed_authentication:
print("error!")
(2)while循环
counter=0
while counter<3:
username=input("username:")
passwd=input("password:")
if username=="admin" and passwd=="admin":
print("Welcome!")
break #跳出,中断 break for后就不会执行后面的else语句
else:
print("try again!")
counter += 1
if counter==3:
keep_going_choice=input("还想玩吗?[y/n]")
if keep_going_choice=='y':
counter=0
else:
print("error!")
三、练习(购物车程序)
goods_list=[('iphone',6000),('mac',9000),('coffee',32),('python book',100),('bicycle',1500)]
#print(len(goods_list))
cart=[]
saving=input("please input your saving:")
if saving.isdigit():
saving=int(saving)
while True:
# 打印商品内容
for i,v in enumerate(goods_list,1): #for后面可以接列表、元祖、字典
print(i,v)
# 引导用户选择商品
choice=input("请输入您要购买的商品序号[退出:q]:")
# 验证输入是否合法
if choice.isdigit():
choice=int(choice)
if choice > 0 and choice <= len(goods_list) :
# 通过choice取出用户选择的商品
p_item=goods_list[choice-1]
print(p_item)
# 如果余额充足,用余额减去选择的商品的价格,并将该商品加入购物车
if p_item[1] < saving:
saving-=p_item[1]
print('还剩%s元'%saving)
cart.append(p_item)
else:
print('余额不足,还剩%s元'%saving)
else:
print('编码不存在!')
elif choice=='q':
print('-----您已经购买如下商品------')
# 循环遍历购物车的商品,注意:购物车存放的是已买商品
for i in cart:
print(i)
print('您还剩%s元'%saving)
break
else:
print('非法字符!')
else:
print('error!')
Python之路【第四篇】Python基础2的更多相关文章
- python之路第四篇(基础篇)
一.冒泡算法实现: 方法一: li = [13,33,12,80,66,1] print li for m in range(4): num1 = li[m] num2 = li[m+1] if nu ...
- 【Python之路】第九篇--Python基础之线程、进程和协程
进程与线程之间的关系 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除.线程可与属于同一进程的其它线程共享进程所拥有的全 ...
- Python之路第四天,基础(4)-装饰器,迭代器,生成器
装饰器 装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- Python之路(第四篇):Python基本数据类型列表、元组、字典
一.列表 1.列表 list ,是一个类,li = [1,2,"nicholas"] li是通过list类创建的对象. 2.list特点: 用中括号括起来,用逗号分割每个元素,列表 ...
- Python之路(第八篇)Python内置函数、zip()、max()、min()
一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...
- Python之路(第五篇) Python基本数据类型集合、格式化、函数
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...
- 【Python之路】特别篇--Python正则表达式
正则表达式的基础 正则表达式并不是Python的一部分. 正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大. 得益于这一点 ...
- 【Python之路】特别篇--Python面向对象(进阶篇)
上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") ret ...
随机推荐
- 【1天】黑马程序员27天视频学习笔记【Day02】
02.01常量的概述和使用 * A:什么是常量 * 在程序执行的过程中其值不可以发生改变 * B:Java中常量的分类 * 字面值常量 * 自定义常量(面向对象部分讲) * C:字面 ...
- Pyjwt ,python jwt ,jwt
pip install Pyjwt 不错的jwt 文章: https://www.cnblogs.com/wayneiscoming/p/7513487.html Sampleimport jwt i ...
- Kafka 性能测试报告
Producer command: kafka-producer-perf-test --topic _perf-test --num-records 10000000 --record-size 1 ...
- Python 中 Iterator和Iterable的区别
Python中 list,truple,str,dict这些都可以被迭代,但他们并不是迭代器.为什么? 因为和迭代器相比有一个很大的不同,list/truple/map/dict这些数据的大小是确定的 ...
- 【转】为什么分布式一定要有Redis?
发现一篇好文. https://studygolang.com/articles/15064
- 20172306 2018-2019-2 《Java程序设计与数据结构》第九周学习总结
20172306 2018-2019-2 <Java程序设计与数据结构>第九周学习总结 教材学习内容总结 无向图 图是由结点和这些结点之间的连接构成 就图来说,结点叫做顶点,结点之间的连接 ...
- Json列表数据查找更新
/* 从Json数组按某个字段中查找记录 IN array 数据列表 fieldName 字段名称 fieldValue 字段值 OUT 查找到的数据列表 */ var SearchRecordsFr ...
- “天龙八步”细说浏览器输入URL后发生了什么
本文摘要: 1.DNS域名解析: 2.建立TCP连接: 3.发送HTTP请求: 4.服务器处理请求: 5.返回响应结果: 6.关闭TCP连接: 7.浏览器解析HTML: 8.浏览器布局渲染: 总结 输 ...
- xtrabackup命令用法实战(转)
xtrabackup命令用法实战 转载出自 https://blog.csdn.net/wfs1994/article/details/80399408 完全备份 1.创建备份 [root@linux ...
- 得到一个文件夹中所有文件的名称的几个方法(命令指示符, C++, python)
因为最近一直需要获得一个文件下的所有图片的名称,自己又总是跨平台使用,所以把自己在不同环境之下使用的方法总结如下 1.cmd 模式下 优点:简单 例如,我想将一个文件夹下的所有".jpg&q ...