一、格式化输出

按要求输出信息
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. 第二篇 Flask 中的 Render Redirect HttpResponse

    第二篇 Flask 中的 Render Redirect HttpResponse   1.Flask中的HTTPResponse 在Flask 中的HttpResponse 在我们看来其实就是直接返 ...

  2. vue加elementui开发的分页显示

    由于我的是公共引入样式表和css表所以,将公共的也写出来了(我接手的项目为基于vue开发的) 公共的index.html 引入js <script src="{MODULE_URL}s ...

  3. sv函数中返回队列

    如果想从函数中,返回队列或者动态数组,我们应该怎么做呢? 答案就是自己用typedef定义一个类型. typedef int queue_of_int[$]; function queue_of_in ...

  4. git master 回滚代码

    回退到指定版本 f6a3d430 (为commit id 前8位) git reset --hard f6a3d430 强制推送到远程分支 git push origin HEAD --force 但 ...

  5. node.js 从入门到。。。

    本人安装环境为 mac ,所以只记录了 mac 下的操作步骤 1.安装 node node的国内下载地址:http://nodejs.cn/download/ 安装之后,在终端输入指令 node -v ...

  6. Ztree的onClick和onCheck事件

    如下图所示,点击框选中,再点击框取消.现在需加上点击字体也能选中,再点击则取消 思路:点击事件是onClick,勾选的回调函数为onCheck,要实现上面需求,我们只需要在callback里新增一个点 ...

  7. Python+Selenium 自动化实现实例-处理分页(pagination)

    场景 对分页来说,我们最感兴趣的是下面几个信息 总共有多少页 当前是第几页 是否可以上一页和下一页 代码 下面代码演示如何获取分页总数及当前页数.跳转到指定页数 #coding:utf-8 from ...

  8. 安装Pygame(Python3.6,windows)

    1. 本机为python3.6的环境 2. 到pygame官网下载对应系统,对应python版本的pygame文件,下载地址:https://pypi.python.org/pypi/Pygame/1 ...

  9. 炫酷MD风之dialog各种对话框

    这个demo也是我从别人那里学来的,不是本人写的代码,我也是个MD初学者.把这个demo分享给看到的你,希望对你有帮助. 直接上图: demo地址:百度网盘:链接:https://pan.baidu. ...

  10. iserver频繁崩溃、内存溢出事故解决小记

    一.事故分析 在生产项目中,频繁遇到iserver隔一段时间就会出现崩溃的情况. 将iserver错误日志发给技术客服后,说是内存溢出的问题. 查看服务器的配置是32g内存,按理说不该出现此类问题. ...