您的位置:首页 > 编程语言 > Python开发

Python小白逆袭大神:Day1-Python基础练习

2020-05-07 04:24 1166 查看

文章目录

  • 第一天作业
  • 说到人工智能,python必不可少。最近也想写一系列文章来总结我都python学习之路,这里就稍微写一点今天的内容吧,顺便打个广告:我的python学习之路

    python基础学习:

    1.基本操作

    2.所有语言必备:条件、循环

    #2.条件判断if
    if 1 == 2: # 如果 if 跟随的条件为 假 那么不执行属于if 的语句,然后寻找 else
    print("假的")
    else: # 寻找到 else 之后 执行属于else中的语句
    print("1==2是假的")
    #3.循环操作---for
    for i in range(5):
    print(i)
    ``
    
    #3.循环操作---while
    sum = 0
    n = 99
    while n > 0:
    sum = sum + n
    n = n - 1
    print(sum)`
    
    #4.break、continue、pass
    #break语句可以跳出 for 和 while 的循环体
    n = 1
    while n <= 100:
    if n > 10:
    break
    print(n)
    n += 1
    
    #continue语句跳过当前循环,直接进行下一轮循环
    n = 1
    while n < 10:
    n = n + 1
    if n % 2 == 0:
    continue
    print(n)
    3.数据类型
    数字
    
    ```python
    #5.数据类型---Number(数字)
    #Python支持int, float, complex三种不同的数字类型
    a = 3
    b = 3.14
    c = 3 + 4j
    print(type(a), type(b), type(c))

    字符串

    #5.数据类型---String(字符串)
    #支持字符串拼接、截取等多种运算
    a = "Hello"
    b = "Python"
    print("a + b 输出结果:", a + b)
    #print("a[1:4] 输出结果:", a[1:4])

    列表

    #5.数据类型---List(列表)
    #列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
    #列表索引值以 0 为开始值,-1 为从末尾的开始位置。
    list = ['abcd', 786 , 2.23, 'runoob', 70.2]
    print(list[1:3])
    
    #tinylist = [123, 'runoob']
    #print(list + tinylist)

    元组

    #5.数据类型---Tuple(元组)
    #tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开。
    #元组的元素不可变,但可以包含可变对象,如list。
    t1 = ('abcd', 786 , 2.23, 'runoob', 70.2)
    t2 = (1, )
    t3 = ('a', 'b', ['A', 'B'])
    t3[2][0] = 'X'
    print(t3)

    字典

    #5.数据类型---dict(字典)
    #字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
    #键(key)必须使用不可变类型。
    #同一个字典中,键(key)必须是唯一的。
    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    print(d['Michael'])

    集合

    #5.数据类型---set(集合)
    #set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
    #set是无序的,重复元素在set中自动被过滤。
    s = set([1, 1, 2, 2, 3, 3])
    print(s)

    第一天作业

    作业一:输出 9*9 乘法口诀表(注意格式)

    1.通过for循环

    def table():
    #在这里写下您的乘法口诀表代码吧!
    for i in range(1,10):
    for j in range(1,i+1):
    print("%d*%d=%2d"%(j,i,j*i),end=' ')
    #换行
    print(" ")
    
    if __name__ == '__main__':
    table()

    2.通过while循环

    def table():
    #设定行初始值为1
    h = 1
    #当行数小于等于9行,执行下面代码
    while h <= 9:
    #设定列初始值为1
    l = 1
    #当列小于等于行数时,执行下面代码
    while l <= h:
    #积等于行*列
    ji = h*l
    #输出行*列=积,结束的位置加空格
    print("%d*%d=%d"%(l,h,ji),end=" ")
    #注意要执行列+1不然会陷入死循环
    l+=1
    #换行
    print(" ")
    # 注意要执行行+1不然会陷入死循环
    h+=1
    
    if __name__ == '__main__':
    table()

    作业二:查找特定名称文件

    遍历”Day1-homework”目录下文件;

    找到文件名包含“2020”的文件;

    将文件名保存到数组result中;

    按照序号、文件名分行打印输出。

    注意:提交作业时要有代码执行输出结果。
    这里用到了传说中的os.walk(),

    os.walk()的使用

    函数声明为:

    walk(file_path, topdown=True, οnerrοr=None, followlinks=False)

    参数

    file_path是你所要遍历的目录的地址
    topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)
    onerror 需要一个 callable 对象,当walk需要异常时,会调用followlinks 如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)
    os.walk 的返回值是一个生成器(generator),也就是说我们需要不断的遍历它,来获得所有的内容。
    每次遍历的对象都是返回的是一个三元组(root,dirs,files)
    root 所指的是当前正在遍历的这个文件夹的本身的地址
    dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
    files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
    如果topdown 参数为真,walk 会遍历top文件夹,与top文件夹中每一个子目录。好吧,讲了这么多,来看看作业怎么做。

    #导入OS模块
    import os
    #待搜索的目录路径
    path = "Day1-homework"
    #待搜索的名称
    filename = "2020"
    #定义保存结果的数组
    result = []
    
    def findfiles(path):
    #在这里写下您的查找文件代码吧!
    i = 0
    for root, dirs, files in os.walk(path):
    for file in files:
    file = os.path.join(root,file)
    if filename in file:
    result.append("%d. %s "%(i,file))
    i+=1
    else:
    continue
    for dir in dirs:
    findfiles(dir)
    
    if __name__ == '__main__':
    findfiles(path)
    for finded_file in result:
    print(finded_file)

    OK,以上就是今天的全部内容了,如果你觉得写的还不错的话,求点赞求关注。

    伤水者王 原创文章 9获赞 1访问量 443 关注 私信
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: