我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

python_焦新瑞_20210120

[复制链接]
8487学员认证 发表于 2021-1-21 09:23:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、整理笔记(18:00-19:00)1.递归函数
'''递归函数'''
# rcursion

#递归函数中一定要有对自己的调用
#递归函数中一定要有边界条件


# aa = int(input('enter:'))
# s = 1
# for i in range(1,aa+1):
#     s = i*s
# print(s)
def fact(n):
    if n == 1:   
        return 1
    return fact(n-1)*n
print(fact(5))


2.切片
'''切片'''


#---------list切片
#name[a:b:c]
# (表示截取从下标a开始到下标b结束的所有元素,但是包含a,不包含b;c表示步长,)
#列表切片后还是列表
name = ['a','b','c','d','e','f']
print(name[0:4])
#
print(name[-5:-2])
#如果第一个所索引是0,可以省略
print(name[:3])
#如果一直截取到末尾,可以省略第二个索引
print(name[2:])
#复制list
l = name[:] #l= name 不是复制
print(l)
#切片时指定步长,默认是1
print(name[0::3])
#---------元组切片 与 list 一样
#结果依旧是元组
#----------str 切片  与 list 一样
#结果依旧是字符串


3.迭代
'''迭代'''
#循坏,遍历,迭代iteration
#names可迭代对象(列表、元组、字典,字符串)
# names = ['a','f','e','y','i','o']
names_scores = {'a':62,'b':85,'c':76,'d':81,'e':90}
for key in names_scores:
    print(key,names_scores[key])
#遍历values
#同时遍历key和value

#字符串的遍历

'''如何判断一个对象是可迭代的对象'''
from collections.abc import Iterable
#判断某种对象obj的什么类型,true false

#循环控制变量enumerate
for i,char in enumerate('asdfjkl'):
    print(i,char)


4.生成式
'''生成式'''
#1.生成一个列表
nums = list(range(1,14))
print(nums)
a = [ ]
for i in range(1,10):
    a.append(i*i)
print(a)

#2.生成一个列表
#-----------列表生成式
m = [x*x for x in range(1,10)]
print(m)

#加if语句

#多层循环
#生成元组
fa = tuple([x*x for x in range(1,10) if x%2 == 0])
print(fa)

#生成字典


二、完成作业(19:00-23:00)
1.
# 7. 用递归函数实现fibonacci数列某一项的求解         
def fact(n):
    if n == 2:
        return 1
    if n == 1:
        return 1
    return fact(n-1) + fact(n-2)
print(fact(5))


2.
# 0. 测试元组生成式和字典生成式

p = {x:y for x in 'qwefdw'  for y in 'qwweet'}
print(p)


3.
# 1. 实现一个trim()函数,利用切片去除字符串前后的空格
#    ' tom cruse '
str1 = ' tom   cruse     '
# 递归方法

str2 = str1[::-1]
print(str1)
print(str2)
for i in range(len(str1)):
    if str1 != ' ':
        # print(str1[0:i+1])
        break
for j in range(len(str2)):
    if str2[j] != ' ':
        # print(str2[0:j+1])
        break
print(str1[i:-j])


4.
# 3. 将下面列表中的所有字符变为小写:(列表生成式)
list1 = ['Tom'.lower(),'MIKE'.lower(),'VM'.lower(),'Python'.lower()]
print(list1)


5.
# 4. 使用迭代查找一个列表中的最大值和最小值,返回一个tuple

list1 = [23,54,65,47,86,63,77,87]

for i in range(len(list1)-1):
    for j in range(len(list1)-1-i):
        if list1[j]>list1[j+1]:
            s = list1[j+1]
            list1[j+1] = list1[j]
            list1[j] = s
print(list1)

print(tuple((list1[-1],list1[0])))



回复

使用道具 举报

关注0

粉丝0

帖子26

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备2025058934号-2 )

版权所有 © 西安菁英教育科技有限公司 2023-2026