# 19.用户输入一个数字,判断一个数是否是水仙花数。
#
# 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数,
#
# 例如: 153 =1**3 + 5**3 + 3**3
# num = input(‘请输入一个数字:‘)
# result = 0
# if num.isdecimal():
# for i in num:
# i = int(i)
# result += i**3
# if result == int(num):
# print(‘您输入的是水仙花数‘)
# else:
# print(‘您输入的不是水仙花数‘)
# else:
# print(‘您输入的不是数字‘)
# 20.把列表中所有姓周的?的信息删掉(此题有坑, 请慎重):
#
lst = [‘周??‘, ‘周星星‘, ‘麻花藤‘, ‘周扒?‘]
#
# 结果: lst = [‘麻花藤‘]
# new_list = []
# for i in lst:
# if i[0] == ‘周‘:
# continue
# new_list.append(i)
# lst = new_list
# print(lst)
# for i in range(len(lst)-1,-1,-1):
# if lst[i].strip()[0] == ‘周‘:
# lst.pop(i)
# print(lst)
# 21.车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (选做题)
#
cars = [‘鲁A32444‘,‘鲁B12333‘,‘京B8989M‘,‘?C49678‘,‘?C46555‘,‘沪 B25041‘]
# #
locals = {‘沪‘:‘上海‘, ‘?‘:‘??江‘, ‘鲁‘:‘?东‘, ‘鄂‘:‘湖北‘, ‘湘‘:‘湖南‘,‘京‘:‘北京‘}
# #
# # 结果: {‘??江‘:2, ‘?东‘: 1, ‘北京‘: 1}
# 在循环中给字典添加键值对
# 没有键,就创建一个键
dic = {}
for i in cars:
if locals[i[0]] in dic:
dic[locals[i[0]]] += 1
else:
dic[locals[i[0]]] = 1
print(dic)
# 文件a.txt内容:每一行内容分别为商品名字,价钱,个数。
# apple 10 3
# tesla 100000 1
# mac 3000 2
# lenovo 30000 3
# chicken 10 3
# 通过代码,将其构建成这种数据类型:
# [{‘name‘:‘apple‘,‘price‘:10,‘amount‘:3},{‘name‘:‘tesla‘,‘price‘:1000000,‘amount‘:1}......]
# 并计算出总价钱。
# l1 = []
# with open(‘a‘,encoding=‘utf-8‘) as f1:
# for line in f1:
# dic = {}
# line = line.strip()
# # print(line)
# line_list = line.split()
# # print(line_list)
#
# # dic[‘name‘] = line_list[0]
# # dic[‘price‘] = int(line_list[1])
# # dic[‘amount‘] = int(line_list[2])
# dic = {‘name‘:line_list[0],‘price‘:int(line_list[1]),‘amount‘:int(line_list[2])}
#
# # print(dic)
# l1.append(dic)
# print(l1)
# 如果数据列数增加了
l1 = []
name_list = [‘name‘,‘prise‘,‘amount‘] # 增加列在这里加就可以了
with open(‘a‘,encoding=‘utf-8‘) as f1:
for line in f1:
line_list = line.strip().split()
# print(line_list)
dic = {}
for index in range(len(name_list)):
dic[name_list[index]] = line_list[index]
l1.append(dic)
print(l1)
文件操作
三部曲:
读,写,追加
r+:先读后写
其他功能:tell() seek() flush()
with open() as f1:
文件的改的操作
函数的初识:
# 函数性编程
# s1 = ‘fjfksjdkjksfdsjk‘
# l1 = [1,2,3,4,5,6]
# def my_len(s):
# count = 0
# for i in s:
# count += 1
# print(count)
# my_len(s1)
# my_len(l1)
# 函数:以功能(完成一件事)为导向 一个函数一个功能
# 随调随用
# 减少代码的重复性
# 增强代码的可读性
函数的结构与调用
def douyin():
print(‘打开抖音‘)
print(‘下滑‘)
print(‘看视频‘)
print(‘点赞‘)
print(‘娱乐‘)
‘‘‘
结构:def 关键字,定义函数。
douyin 函数名:与变量设置相同,具有可描述性。
函数体:缩进。函数中尽量不要出现print
‘‘‘
# 函数什么时候执行
# 当函数遇到 函数名() 函数才会执行
douyin()
函数的返回值
# 函数的返回值
# s1 = ‘sjfhwhfeufjsb‘
# print(len(s1))
# def douyin():
# print(‘打开抖音‘)
# print(‘下滑‘)
# return
# print(‘看视频‘)
# print(‘点赞‘)
# print(‘娱乐‘)
# douyin()
# return:在函数中遇到return直接结束函数。
# def douyin():
# print(‘打开抖音‘)
# print(‘下滑‘)
# print(‘看视频‘)
# print(‘点赞‘)
# print(‘娱乐‘)
# return ‘哈哈哈哈哈‘
#
# ret = douyin()
# print(ret)
# # return 将数据返回给函数的执行者,调用者
def douyin():
print(‘打开抖音‘)
print(‘下滑‘)
print(‘看视频‘)
print(‘点赞‘)
print(‘娱乐‘)
return ‘哈哈哈哈哈‘,6666,[857,857]
ret1,ret2,ret3 = douyin()
print(ret1,ret2,ret3)
# return 返回多个元素 是以元组的形式返回给函数的执行者
‘‘‘
return总结:
1.在函数中,终止函数
2.return 可以给函数的执行者返回值:
1.return单个值 单个值
1.return多个值 (多个值,)
‘‘‘
函数的参数
# 实参角度:
# 1.位置参数:从左至右,一一对应。
# def douyin(form,place): # 函数的定义:接收的参数 形式参数
# print(‘打开抖音‘)
# print(‘进行筛选:类别:%s,地区:%s‘%(form,place))
# print(‘下滑‘)
# print(‘看视频‘)
# print(‘点赞‘)
# print(‘娱乐‘)
# douyin(‘吃‘,‘山东‘) # 函数的执行传的参数:实际参数
# 写一个函数,只接受两个int的参数,函数的功能是将较大的数返回
# def compare(num1,num2):
# if num1 > num2:
# return num1
# else:
# return num2
# print(compare(1000,20))
# 三元运算符: 简单的if else
# a = 10
# b = 20
# c = a if a > b else b
# print(c)
# def compare(num1,num2):
# # max_num = 0
# # max_num = num1 if num1 > num2 else num2
# # return max_num
#
# return num1 if num1 > num2 else num2
#
# print(compare(1000,20))
# 2.关键字参数
# 一一对应,不要求顺序
# def douyin(form,place):
# print(‘打开抖音‘)
# print(‘进行筛选:类别:%s,地区:%s‘%(form,place))
# print(‘下滑‘)
# print(‘看视频‘)
# print(‘点赞‘)
# print(‘娱乐‘)
# douyin(form=‘吃‘,place=‘山东‘)
# 函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回
# def func(a,b):
# return a + b
# print(func(b=‘你‘,a=‘牛批‘))
# 混合参数
# def douyin(form,place,time):
# print(‘打开抖音‘)
# print(‘进行筛选:类别:%s,地区:%s,时间:%s‘%(form,place,time))
# print(‘下滑‘)
# print(‘看视频‘)
# print(‘点赞‘)
# print(‘娱乐‘)
# return ‘地区:%s 时间:%s‘%(place,time)
# print(douyin(‘吃‘,‘山东‘,time=‘15s‘))
‘‘‘
实参角度:
1.位置参数 按照顺序,一一对应
2.关键字参数,一一对应
3.混合参数:位置参数一定要在关键字参数的前面。
‘‘‘
# 形参角度
# 1.位置参数 与实参角度的位置参数是一种
# 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
# def func(l):
# # if len(l) > 2:
# # return l[:2]
# # else:
# # return l
#
# return l[:2] if len(l) > 2 else l
#
# print(func([1,2,3,4])) # [1, 2]
# print(func([1])) # [1]
# def func(l):
# return l[:2]
# print(func([1,2,3,4,]))
# print(func([1]))
# 2.默认参数
# 默认参数设置的意义:普遍经常使用的。
# def douyin(form,place=‘山东‘,time=‘15s‘): ###
# print(‘打开抖音‘)
# print(‘进行筛选:类别:%s,地区:%s,时间:%s‘%(form,place,time))
# print(‘下滑‘)
# print(‘看视频‘)
# print(‘点赞‘)
# print(‘娱乐‘)
# return ‘地区:%s 时间:%s‘%(place,time)
# print(douyin(‘吃‘))
‘‘‘
形参角度:
1.位置参数
2.默认参数:经常使用的
‘‘‘
原文:https://www.cnblogs.com/szheng/p/13080488.html