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

说到人工智能,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循环

扫描二维码关注公众号,回复: 12332058 查看本文章
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,以上就是今天的全部内容了,如果你觉得写的还不错的话,求点赞求关注。

猜你喜欢

转载自blog.csdn.net/qq_39748940/article/details/105813884