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

2023-05-06,,

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基础学习笔记--脚本的相关教程结束。

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

下载本文的Word格式文档,以方便收藏与打印。