0003.5-20180422-自动化第四章-python基础学习笔记--脚本

1-shopping

 """
v = [
{"name": "电脑","price":"1999"},
{"name": "鼠标", "price": "10"},
{"name": "游艇", "price": "20"},
{"name": "美女", "price": "998"},
] #1.让用户输入自己账户余额
while True:
money = input("请输入账户金额:")
money = money.strip() #去掉输入字符前后的空格
if money.isdecimal(): #判断输入的字符是否为十进制字符
money = int(money) #将输入的字符通过int格式化为数字
break
else:
print("请正确输入数字!") #如果输入的不为十进制字符,提示正确输入数字
print(money, type(money)) #显打印钱的金额,再打印金额数字的字符类型,此处类型应为:int """ """
v = [
{"name": "电脑","price":"1999"},
{"name": "鼠标", "price": "10"},
{"name": "游艇", "price": "20"},
{"name": "美女", "price": "998"},
] #2. 显示商品列表
#解决思路1-------用户和开发者都麻烦
for item in v:
#item的类型为字典
#第一次循环时,item = {"name": "电脑","price":"1999"} ,可以分别通过字典的key取对应的value值
print(item['name'],item['price']) sel = input('请选择商品:') # sel = '鼠标' v[1]
for row in v:
if sel == row['name']:
print('商品价格为:',row['price'])
""" v = [
{"name": "电脑","price":""},
{"name": "鼠标", "price": ""},
{"name": "游艇", "price": ""},
{"name": "美女", "price": ""},
]
#解决思路2-----让用户和开发者都比较简单 # num = 0 #只有程序员才明白数字是从0开始计算的,所以对用户不太友好
# for item in v:
# print(num, item['name'], item['price'])
# num += 1 #2.显示商品列表
while True:
money = input("请输入账户金额:")
money = money.strip() #去掉输入字符前后的空格
if money.isdecimal(): #判断输入的字符是否为十进制字符
money = int(money) #将输入的字符通过int格式化为数字
break
else:
print("请正确输入数字!") #如果输入的不为十进制字符,提示正确输入数字
#print(money, type(money)) #显打印钱的金额,再打印金额数字的字符类型,此处类型应为:int
print(money) num = 1
for item in v:
print(num, item['name'], item['price']) #打印商品序号,商品名称、商品价格
num += 1 #3.让用户购买商品
cost = 0
while True:
index = input('请输入商品序号(q/Q结算):')
if index.lower().strip() == "q":
break
#应考虑用户输入是否:空格,是否数字,范围
index = index.strip()
if index.isdecimal():
index = int(index)
index = index - 1 #用户输入的index数值需减去1,才为商品的实际序号
#if index > 0 and index < 5
if index >= 0 and index < len(v):
#用户输入的序号是正确的
# v[index] 为字典 #以下为拆分字符串格式化
#v[index]['name']
#val = v[index]['price']
#val1 = int(val)
#temp = '您购买商品%s,价格:%d' %(v[index]['name'],int(v[index]['price']))
print('您购买商品:%s,价格:%d' %(v[index]['name'],int(v[index]['price']))) #----或者用上面的方法拆开 #v[index]['name']
#v[index]['price']
#print('您购买商品%s,价格:%d' %(v[index]['name'],v[index]['price']))
cost += int(v[index]['price'])
print('合计金额:',cost)
else:
print('输入商品序号不存在!')
else:
print('请输入数字!')
if money >= cost:
print('购买成功')
else:
print('余额不足') #扩展:问题:购买商品信息,商品名称,单价,个数

2-39-ti-creat-data-split-page-show

 #创造305跳数据,用户每输入页码显示10条数据
user_list = []
i = 1
while i <= 305:
#创建字典方法3时注释掉下文:
# name = "alex-%d" %(i,)
# email = "email-%d" %(i,)
# pwd = "pwd-%d" %(i,) #创建字典方法1
# temp = {}
# temp['username'] = name
# temp['email'] = email
# temp['password'] = pwd #创建字典方法2
# temp = {
# 'username' : name,
# 'email' : email,
# 'password' : pwd
# } #创建字典方法3
# temp = {
# 'username' : "alex-%d" %(i,),
# 'email' : "email-%d" %(i,),
# 'password' : "pwd-%d" %(i,)
# } #方法4 直接在列表中定义字典,通过开始的while循环并在列表的尾部进行追加生成数据
user_list.append({
'username' : "alex-%d" %(i,),
'email' : "email-%d" %(i,),
'password' : "pwd-%d" %(i,)
})
i += 1 while True: #循环让用户可以一直选择想看的数据,直到用户选择退出程序
page = input('请选择页码(每页显示10条数据)')
# page = page.strip() #去掉输入字符前后的空格
# if page.isdecimal(): #判断输入的字符是否为十进制字符
# page = int(page) #将输入的字符通过int格式化为数字
# break
# else:
# print('请输入正确的数值页码!') #如果输入的不为十进制字符,提示正确输入数字
page = int(page)
start = (page - 1) * 10 #定义在列表中取页码数字的起始位置数值
end = page * 10 #定义在列表中取页码数字的结束位置数值
current_page_user = user_list[start:end] #指定用户实际输入页码后获取列表中数据的起始和结束位置
for item in current_page_user:
print(item)

3-17-ti-random-check-code

 def check_code():
import random
checkcode = ''
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode += str(temp)
return checkcode #随机生成验证码
while True:
code = check_code()
print(code)
inp = input('请输入验证码:')
if inp.strip().lower() == code.strip().lower():
print('验证码输入成功!')
break
else:
print('验证码错误,请重新输入!')

4-18-ti-replace-sensitive-word

 #针对苍老师,东京热进行敏感词替换过滤
li = ['苍老师','东京热']
msg = input('请小心输入内容:')
for item in li:
if item in msg:
msg = msg.replace(item, '***')
print(msg)

5-12-ti-user-str-join-str

 #给定一个列表中有很多字符串,通过将列表中的字符串之间通过下划线进行连接:

 """
#方法1:
li = ['alex','eric','rain','y8ik0','ih8vbb'] msg = ""
is_first = True #设定第一次循环值为真
for item in li:
if is_first: #第一次循环值为真时,tmp 的值等于item循环获取的值
tmp = item
is_first = False #第一次item取完值后将is_fisrst修改为假,使tmp 不再直接等于item获得的值
else:
tmp = "_" + item #字符串拼接
msg += tmp #字符串拼接
print(msg) """ """
#方法2:
#字符串,v = "xxx" v.join(可迭代对象)
#for 循环的,就是可迭代对象 li = ['alex','eric','rain','y8ik0','ih8vbb'] # v = "_"
# result = v.join(li)
# print(result) #方法2改进优化版: result = "_".join(li)
print(result) """
#方法3:王青帅版
# 思路:根据列表索引取第0个值,插入到新的列表li1中,然后通过循环在新的列表li1的尾部通过取li列表长度循环取原li列表的值,并且在其前面添加下划线,追加在新列表元素的后面 li = ['alex','eric','rain','y8ik0','ih8vbb'] length = len(li)
li1 = []
li1.insert(0,li[0])
i = 1
while i <= length - 1:
li1.append('_' + li[i])
i += 1
print(li1) a = ''
for item in li1:
a += item
print(a)

6-13-ti-addition-and-range

 #实现一个整数加法计算器,考虑到用户输入的字符是否是存在空格

 """
sum = 0
while True:
content = input('请输入数字:')
num = content.split('+')
for i in num:
i = i.strip()
sum += int(i)
print(sum) """
#加法计算器方法2:-----只能是两个数字相加的计算器
# 5 + 9
content = input('请输入表达式:')
#content.split('+') #以加号作为关键字符进行分割,可以将给定字符中所有有加号的地方进行分割
#content.split('+',2) #对给定字符中的前两个加号的地方进行分割,后面有加号的地方不分割
a,b = content.split('+',1) #对给定字符中的第一加号的地方进行分割,后面有加号的地方不分割
a = int(a.strip())
b = int(b.strip())
print(a+b) """
sum = 0
content = input('请输入数字:')
num = content.split('+')
for i in num:
i = i.strip()
sum += int(i)
print(sum) """ ###########
#对于有限的数据循环---->使用for ,range #对于死循环,永远无限循环----> while True ##############
# range ---用于生成连续的数字,列表类型
# xrange(),用于生成连续的数字,for 循环时才能使用,未知类型(生成器) # py2.7 中的range 是打印所有的数据,py2.7中有加强版的xrange,使用一个才生成一个数据
#py3 中的range使用一个才生成一个数据,相当于py2.7中的xrange
# py3 range = xrange(2.7) """ #打印1-100所有数字,除了77之外 for num in range(1,101):
if num == 77:
continue
print(num)
""" """
#打印1-100之间所有的奇数: for num in range(1,100,2): #1,为起始数据,100为小于此数据,2相当于步长----默认不写,相当于步长为1
print(num)
""" """
#打印1-100之间所有的数,倒序显示:
for num in range(100,0,-1):
print(num)
""" """
# 打印如下列表的索引序号: li = [11,22,33,44,55,66]
#print(len(li))
for num in range(0,len(li)):
print(num) """

0003.5-20180422-自动化第四章-python基础学习笔记--脚本的更多相关文章

  1. 0006-20180422-自动化第七章-python基础学习笔记

    内容回顾: - bytes - str 和bytes - int - str - list - tuple - 深拷贝和浅拷贝 今日内容: 数据类型 - bytes - int - str - boo ...

  2. 0005-20180422-自动化第六章-python基础学习笔记

    day6 内容回顾: 1. 变量 2. 条件 3. while循环 4. 数据类型 - int - bit_length - bool - True/False - str - upper - low ...

  3. 0004-20180422-自动化第五章-python基础学习笔记

    内容回顾:1.数据类型 2.for和while循环 continue break #如下循环将怎么打印结果? for i in range(1,10): print(i) for i in range ...

  4. 0003-20180422-自动化第三章-python基础学习笔记

    3章 内容回顾: 1. 计算机组成 2. 程序编译器 3. 变量 4. 条件 5. 循环 6. py2与py3区别 - 默认编码, - 除法, - input ,raw_input 7. 位,字节关系 ...

  5. 0001-20180421-自动化第一章-python基础学习笔记

    ======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...

  6. C++ Primer Plus 第四章 复合类型 学习笔记

    第四章 复合类型 1. 数组概述 1.1 数组的定义 数组(array)是一种数据格式,能够存储多个同类型的值.每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素. 数组声明的三 ...

  7. Python基础学习笔记(四)语句

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

  8. Python基础学习笔记FromImooc.com

    1.list L = ['a','a','a','a','a','a3'] L[0] = a L[-1] = a3   添加新元素 L.append('paul') L.insert(-1,'Paul ...

  9. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

随机推荐

  1. Bound Found [POJ2566] [尺取法]

    题意 给出一个整数列,求一段子序列之和最接近所给出的t.输出该段子序列之和及左右端点. Input The input file contains several test cases. Each t ...

  2. JS编码方式

    1. escape(): 采用unicode字符集对指定的字符串除0-255以外进行编码.所有的空格符.标点符号.特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符 ...

  3. springboot集成springsession利用redis来实现session共享

    转:https://www.cnblogs.com/mengmeng89012/p/5519698.html 这次带来的是spring boot + redis 实现session共享的教程. 在sp ...

  4. EF Oracle TNS 连接

    <oracle.manageddataaccess.client> <version number="*"> <settings> <se ...

  5. MyCP-实现文件的复制以及进制转换

    MyCP 一.设计思路 确定MyCP的要求 根据需求可知MyCP需要实现类似Linux下cp XXX1 XXX2的功能,且需要支持两个参数: java MyCP -tx XXX1.txt XXX2.b ...

  6. 树莓派3 之 启动显示和wifi相关参数设置

    最近将树莓派操作系统重新安装了,然后发现了一些问题.这里分享出来给大家 问题一:连接外置显示器黑屏 解决方法:将SD卡 插入电脑,在电脑中找到SD卡 修改其中的config.txt文件 #强制使用HD ...

  7. SVN百度云服务器安装使用。

    安装SVN客户端 此时,必须重启,否则经常出现用不了. 重启后,还是用不了的话,那么就重新安装系统. 网站地址: http://xiaomosheng.bceapp.com/ SVN代码服务器的地址: ...

  8. photoshop 修改pdf文件并保存为pdf

    1.CTRL + O   打开要编辑的pdf文件 按住shift 选中每一页,点击确定. pdf文档每一页以一个psd文件显示在工作区, 分别进行修改, 2.批量修改同一个元素(比如加个图标) 在一页 ...

  9. LAYUI select 下拉框得高度

    页面下得select 框 在css页面加样式 .layui-form-select dl {    max-height: 152px;}

  10. Java注解之 @Target、@Retention简介

    先来看一个Spring中的一个常用注解 package org.springframework.stereotype; import java.lang.annotation.Documented; ...