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 ...
随机推荐
- mysql学习笔记--遇到的坑
一.navcat 连接不支持密码输入 1. 先通过命令行进去mysql的root账户 mysql -uroot -p'password' 2. 更改加密方式 alter user 'root'@'lo ...
- 微信小程序发布新版本时自动提示用户更新
如图,当小程序发布新的版本后,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除),则会弹出这个提示,提醒用户更新新的版本.用户点击确定就可以自动重启更新,点击取消则关闭弹窗,不再更新. ...
- 关于easyui框架中a标签使用onclick()触发事件偶尔会选项卡消失BUG解决方案
今天发现公司的一个easyui项目中有个页面会在触发onclick事件时选项卡消失,如下图 产生BUG后 产生BUG前 查找很多地方还有资料不知道哪里出现的问题,看了下框架源码之类的,因为不是专门的前 ...
- systemd 编写服务管理脚本---学习
转载:https://www.cnblogs.com/sparkdev/p/8521812.html 我们运行 linux 服务器的主要目的是通过运行程序提供服务,比如 mysql.web serve ...
- ubuntu16.04安装Navicate
1. http://download2.navicat.com/download/navicat100_mysql_en.tar.gz 2. tar -zxvf /home/rain/dow ...
- Qt跨平台开发Wince5.0和Android程序
所谓跨平台是指维护一份代码,可编译出多平台的应用程序.Qt这方面虽然已经做的不错,但性能还是体验,和原生开发工具开发的程序相比,差距还是不小的.但单从生产应用的角度来说,可以采用,不失为一种好的解决方 ...
- oracle sql语句大全
ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约 ...
- Mysql必知必会 第一章 了解SQL
第一章 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库的定义:保存有组织的数据的容器 数据库软件不是数据库,而是DBMS 1.1.2 表 表(Table)的定义:某种特定类型数据的结 ...
- 大白书中无向图的点双联通分量(BCC)模板的分析与理解
对于一个无向图,如果任意两点至少存在两条点不重复(除起点和终点外无公共点)的路径,则这个图就是点双联通. 这个要求等价于任意两条边都存在于一个简单环(即同一个点不能在圈中出现两次)中,即内部无割点. ...
- eclipse创建scrapy项目
1. 您必须创建一个新的Scrapy项目. 进入您打算存储代码的目录中(比如否F:/demo),运行下列命令: scrapy startproject tutorial 2.在eclipse中创建一个 ...