一.函数的定义:
1.函数作用:
在一组程序中,有些代码会重复使用,我们就可以通过使用函数将之前写好的代码调用
2.定义函数的格式:
def 函数名([参数,......]):
代码
函数名:例如,get_name()
例子:
写一个可以随机生成四位数验证码的函数
def get_name():
a = 'fjolaiefjwoief54755475454565'
b = ''
for i in range(4):
c = random.choice(a)
b += c
print(b)
print(get_name)
get_name()
二.列表推导式:
列表推导式最后得到是一个列表。
1.格式:
第一种:
[i for i in 可迭代的数据] 可迭代的数据:for可以取得到的数据,例如列表,字典,元组。
前面的i就是把后面的i取到的元素存起来,每取一次就存一次,结束后就放入列表中。
例子:
list1 = [i for i in range(1, 21)]
print(list1) # 打印结果 ---> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
list2 = [i + 2 for i in range(1, 10)]
print(list2) # 打印结果 -----> [3, 4, 5, 6, 7, 8, 9, 10, 11]
第二种:
[i for i in 可迭代的数据 if 条件]
前面的i 会根据条件选择性地存入后面的 i 的取值
例子:
list2 = [i for i in range(0, 101) if i % 2 == 0]
print(list2)
第三种:
[结果1 if 条件 else 结果2 for 变量 in 可迭代的数据]
例子:
list3 = [i if i % 2 == 0 else i + 1 for i in range(1, 10)]
print(list3)
三.书籍管理系统升级版:
要求:
图书管理系统:
创建一个放有书籍的书架library,每本书都有书名,作者,数量的信息。
每次借书还书,其书架上的数量都会发生变化。
功能:
1.借书
2.还书
3.查询(可以根据 书名/作者 查询)
4.查看所
5.退出
flge = True
n = -1
library = [{'书名': '西游记', '作者': '吴承恩', '数量': 100}, {'书名': '水浒传', '作者': '施耐庵', '数量': 50},
{'书名': '三国演义', '作者': '罗贯中', '数量': 100}, {'书名': '红楼梦', '作者': '曹雪芹', '数量': 100}]
ku = []
for g in library:
ku.append(g['数量'])
while flge:
a = int(input('请选择功能:1.借书 2.还书 3.查询 4.查看所有书籍 5.退出'))
if a == 1:
print('进入借书模块')
b = input('请输入书名或作者:')
for i in library:
c = list(i.values())
n += 1
e = ku[n]
if b in c:
d = int(input('您要借几本:'))
if d < e:
i['数量'] -= d
library[n] = i
n = -1
print('借书成功')
break
else:
print('对不起,您需要的数量已超过书架拥有的数量')
n = -1
break
else:
print('您所要输入的书名或作者不在书架内,请重新输入')
elif a == 2:
print('进入还书模块')
b = input('请输入书名或作者:')
for j in library:
c = list(j.values())
n += 1
e = ku[n]
if b in c:
d = int(input('您要还几本:'))
j['数量'] += d
library[n] = j
n = -1
print('还书成功')
if j['数量'] > e:
j['数量'] = e
break
else:
print('您所要输入的书名或作者不属于本书架')
elif a == 3:
print('欢迎进入查询模块')
f = input('请输入书名或作者')
for m in library:
if f in list(m.values()):
print('{}{}{}'.format('书名'.center(10), '作者'.center(10), '数量'.center(10)))
print(i['书名'].center(10), end='')
print(i['作者'].center(10), end='')
print(str(i['数量']).center(10), end='')
print()
else:
print('您所要输入的书名或作者不在书架内,请重新输入')
elif a == 4:
print('{}{}{}'.format('书名'.center(10), '作者'.center(10), '数量'.center(10)))
for i in library:
print(i['书名'].center(10), end='')
print(i['作者'].center(10), end='')
print(str(i['数量']).center(10), end='')
print()
else:
flge = False