一、格式化输出

按要求输出信息
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的更多相关文章

  1. python之路第四篇(基础篇)

    一.冒泡算法实现: 方法一: li = [13,33,12,80,66,1] print li for m in range(4): num1 = li[m] num2 = li[m+1] if nu ...

  2. 【Python之路】第九篇--Python基础之线程、进程和协程

    进程与线程之间的关系 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除.线程可与属于同一进程的其它线程共享进程所拥有的全 ...

  3. Python之路第四天,基础(4)-装饰器,迭代器,生成器

    装饰器 装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象 ...

  4. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  5. Python之路(第四篇):Python基本数据类型列表、元组、字典

    一.列表 1.列表 list ,是一个类,li = [1,2,"nicholas"] li是通过list类创建的对象. 2.list特点: 用中括号括起来,用逗号分割每个元素,列表 ...

  6. Python之路(第八篇)Python内置函数、zip()、max()、min()

    一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...

  7. Python之路(第五篇) Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  8. 【Python之路】特别篇--Python正则表达式

    正则表达式的基础 正则表达式并不是Python的一部分. 正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大. 得益于这一点 ...

  9. 【Python之路】特别篇--Python面向对象(进阶篇)

    上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  10. Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

    一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") ret ...

随机推荐

  1. NetCore+MySql+EF 数据库生成实体模型

    NetCore版本    2.1 1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台” 分别安装以下几个包 Mysql 版本: MySql.Data.EntityFrame ...

  2. 线性筛素数和理解 洛谷P3383

    题目链接:https://www.luogu.org/problemnew/show/P3383 线性筛法筛素数的特点是每一个数字只被遍历一次,即时间复杂度为O(n),所以说他是线性的,并且所有的非素 ...

  3. python读取es中的所有数据并计算md5然后进行持久化

    #!/usr/bin/python import threading import json import time from elasticsearch import Elasticsearch f ...

  4. Spring常用注解总结(2)

    @Autowired "自动填装",作用是为了消除代码JAVA代码里面的getter/setter与bean属性中的property. @Autowired默认按类型匹配的方式,在 ...

  5. Centos7 优盘U盘安装以及解决安装时引导错误

    一.使用UltraISO将安装镜像iso文件,写入优盘(写入硬盘映像).将优盘盘符名改为CENTOS7,否则以后引导很麻烦二.将优盘插入要安装CentOS7的电脑,设置开机U盘启动三.并启动到安装界面 ...

  6. ubuntu-14.04安装最新tensorflow记录

    1.安装英伟达驱动./NVIDIA-Linux-x86_64-384.69.runnvidia-smi成功表示驱动ok 2.安装cudadpkg -i cuda-repo-ubuntu1404-8-0 ...

  7. redis知识点

    为什么使用 ①解决应用服务器的cpu和内存压力 ②减少io的读操作,减轻io的压力 ③关系型数据库的扩展性不强,难以改变表结构 优点: ①nosql数据库没有关联关系,数据结构简单,拓展表比较容易 ② ...

  8. CentOS 7 minimal网络配置

    centos最小化安装没有ifconfig命令,可以使用  ip addr  查看网络信息,习惯ifconfig的用户,则使用 yum -y install net-tools 即可 ; 如果yum不 ...

  9. STS中springmvc.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  10. S系统的不好的实践

    多个项目 多个分支放在一个SVN里边维护,导致多股力量并行开发时候的代码覆盖的风险可能性很大,,  好的实践是维护独立的SVN,彼此分离开来