python练习202106

# -*- 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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值