# -*- coding:utf-8 -*-
# @Time :2021-6-1 11:27
# @AUTHOR :MUFENG12138
# @SOFTWARE :lxf_train
# 将字符串切割为字典
url = 'm=Home&c=User&a=verify&r=0.10949751826944465'
pr1 = []
pr2 = []
# p = url.split("&")
# print(p)
for i in url.split("&"):
# print(i.split("=")[0])
# print(i.split("=")[1])
pr1.append(i.split("=")[0])
pr2.append(i.split("=")[1])
# d = zip(pr1, pr2)
print(dict(zip(pr1, pr2)))
# print(pr1)
# print(pr2)
# -*- coding:utf-8 -*-
# @Time :2021-6-1 11:27
# @AUTHOR :MUFENG12138
# @SOFTWARE :lxf_train
# 将字符串切割为字典
url = 'm=Home&c=User&a=verify&r=0.10949751826944465'
url2 = 'm=Home&c=User&a=verify&r='
pr1 = []
pr2 = []
for i in url2.split("&"):
pr1.append(i.split("=")[0])
if i.split("=")[1] == '':
pr2.append(None)
else:
pr2.append(i.split("=")[1])
print(dict(zip(pr1, pr2)))
# -*- coding:utf-8 -*-
# @Time :2021-6-1 13:42
# @AUTHOR :MUFENG12138
# @SOFTWARE :lxf_train
# ljj-magic的思路,分割后用等号划分左右,分别存储到字典中
url = 'm=Home&c=User&a=verify&r=0.10949751826944465'
param = {}
key_values = url.split("&")
print(key_values)
for s in key_values:
print(s)
# print(s.find("="))
if s.find("=") >= 0:
key = s[0:s.find("=")]
print(key)
value = s[s.find("=") + 1:]
print(value)
param[key] = value
else:
key = s
value = None
param[key] = value
break
print(param)
# -*- coding:utf-8 -*-
# @Time :2021-6-1 14:21
# @AUTHOR :MUFENG12138
# # @SOFTWARE :lxf_train
# 用递归实现数字的阶乘N!,如n=9时,s=9*8*7*6*5*4*3*2*1
# 要点:分不同情况,返回1或下一步的阶乘,否则导致print函数不识别
# TypeError: unsupported operand type(s) for *: ‘int‘ and ‘NoneType‘
def fun(a):
if a > 0:
return a * fun(a - 1)
else:
return 1
if __name__ == '__main__':
# src = int(input("input number:"))
src = 10
print(fun(src))
# -*- coding:utf-8 -*-
# @Time :2021-6-1 14:21
# @AUTHOR :MUFENG12138
# # @SOFTWARE :lxf_train
# 计算1-1000以内能被7整除,除以5余3的整数,并按行打印
ans = []
for i in range(1000):
if i % 7 == 0 and i % 5 == 3:
ans.append(i)
print(ans)
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time :2021-6-2 15:20
# @Author :MUFENG12138
# @Software :PyCharm
# @FileName ::lxf_train
# 检查传入列表的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回
# 考察传入多个列表且不确定个数时的情况——好像没啥用,都直接返回了,没考虑多列表情况
# 改进后可以返回多列表了
list01 = ["CoCo"]
list02 = ["CoCo", "MFFENG12138", 520]
list03 = ["CoCo", "MFFENG12138", 520, "CoCo", "CiCi", "MUFENG12138", "520"]
def fun(src):
if len(src) > 2:
return src[:2]
else:
return src
if __name__ == '__main__':
mfList = ["CoCo", "CiCi", "MUFENG12138", "520"]
print(fun(mfList))
################################################################################################################
def func(*args):
"""
检查列表长度,如果大于2,那么保留前两个长度的内容,并将新内容返回s
:param args:
:return:
"""
# 遍历列表
ans=[]
# k=0
# print(type(args))
for i in args:
# print(i)
# 获取长度
len_i = len(i)
# 判断长度
# 如果长度大于2,返回前两个,利用切片[:2]
if len_i > 2:
ans.append(i[:2])
# 否则,返回i即可
else:
ans.append(i)
# k+=1
return ans
# 调用函数,将新内容返回给L
L = func(list01, list02, list02, list03)
print(L)
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time :2021-6-2 14:24
# @Author :MUFENG12138
# @Software :PyCharm
# @FileName ::lxf_train
# 合并两个列表,并消除重复的值。
# 解析:两列表取并集
# 总结:set函数创建一个无序不重复元素集,可用于做逻辑运算
list_1 = ["CoCo", "CiCi", "MUFENG12138", "520"]
list_2 = ["520", "ITesterA", "888", 666, "CoCo"]
# 并集
print(list(set(list_1) | set(list_2)))
print((set(list_1+list_2))) # 注意这里会变为字典格式,其余均为列表
# 交集
print(list(set(list_1) & set(list_2)))
# 差集
print(list(set(list_1) - set(list_2)))
print(list(set(list_2) - set(list_1)))
print(list(i for i in list_1 if i not in list_2))
print([i for i in list_2 if i not in list_1])
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time :2021-6-2 16:05
# @Author :MUFENG12138
# @Software :PyCharm
# @FileName ::lxf_train
# 将用户输入的所有数字相乘之后对20取余数,用户输入的数字个数不确定。
# 解析:空格间隔,回车结束输入
# 若输入数字以外字符,报错
src = input("input your numbers:")
mfList = src.split(" ")
newList = []
ans = 1
for i in mfList:
try:
ans *= int(i)
except ValueError:
print("\033[31;1m输入有误,请重新输入!\033[0m")
newList.append(int(i))
print(newList)
print(ans % 20)
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time :2021-6-2 14:38
# @Author :MUFENG12138
# @Software :PyCharm
# @FileName ::lxf_train
# 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和
# 解析:1、判断奇偶数;2、数学公式
k = 1
i = 2
ans = 0
while k < 100:
ans += i
i = (1 + abs(i)) * (-1) ** ((k % 2))
# print(k%2)
k += 1
print(ans)
#################################################################
# 从2开始计算
i = 2
# 定义一个变量用于保存结果
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
else:
sum = sum - i
i += 1
print("2-3+4-5+6...+100=", sum)
练习源码如下
http://mp.weixin.qq.com/s?__biz=MzI5MTg1NjA4Nw==&mid=2247529225&idx=1&sn=6fa91a48842e8f851ac4085fbd7be539&chksm=ec0878b1db7ff1a7a23e77f010bf8579229c9fa0f0fd3e1e13d55c551d34a806dbcff6f6d513&mpshare=1&scene=1&srcid=0527XrKvNqkqAnJqa3ZsXwCT&sharer_sharetime=1622108266547&sharer_shareid=e28459380135cc39dcba143239df30cf#rd