No.35 笔记 | Python学习之旅:基础语法与实践作业总结

今天开启了Python的学习征程,收获颇丰,不仅深入了解了Python的基础语法,还完成了一系列实操作业,对知识有了更扎实的掌握。现在就来总结一下今日所学。

一、Python基础语法重点

(一)输入输出函数

  1. print函数:用于将内容输出到控制台或文件。可以输出数字、字符串、含有运算符的表达式等。输出目的地通常是显示器,也能输出到文件,例如:
python 复制代码
# 输出到显示器
print(666)
print('csb666')
print(3 + 1)
# 输出到文件
csb = open('D:/1.txt', 'a+')
print('csb666', file=csb)
csb.close()

输出形式有换行和不换行两种,向输出含有变量的字符串时,需要使用格式化输出,主要有format方法、f - strings(Python 3.6+)和旧式格式化字符串(百分号%)三种方式:

python 复制代码
# format方法
name = "Alice"
age = 30
print("my name is {} and I am {} years old.".format(name, age))
# f - strings
name = "Bob"
age = 25
print(f"My name is {name} and I am {age} years old.")
# 旧式格式化字符串
name = "Charlie"
age = 40
print("My name is %s and I am %d years old." % (name, age))
  1. input函数:用于获取用户输入,用户输入的数据以字符串形式返回。若想获取特定格式的数值,需要进行类型转换,例如:
python 复制代码
number = input("please input first number:")
print(number, type(number))

(二)代码缩进

Python中代码缩进用于表示代码块,缩进规则很重要:使用相同数量的空格作为缩进级别,不要混合使用空格和制表符;每个代码块的缩进级别要一致;嵌套的代码块缩进级别更深,通常使用4个空格作为一个缩进级别。

(三)语言结构

  1. 顺序结构:程序按自上而下的顺序依次执行,是最基本的结构。例如:
python 复制代码
number1 = input("请输入第一个数字:")
number2 = input("请输入第二个数字:")
number3 = float(number1) + float(number2)
print("他们之间的和是:%.2f(结果取小数点后两位)" % number3)
  1. 分支结构 :根据条件不同执行不同的操作,主要通过ifelifelse实现,还可以使用条件表达式(三元表达式)。例如:
python 复制代码
# 简单if - else结构
number1 = int(input("请输入一个数字:"))
if number1 > 0:
    number2 = number1
    print("{}的绝对值是{}".format(number1, number2))
else:
    number2 = -number1
    print("{}的绝对值是{}".format(number1, number2))
# 多分支elif结构
score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("不及格")
  1. 循环结构 :重复执行一组指令,分为for循环和while循环。
    • for循环:用于迭代遍历序列、集合等可迭代对象中的元素。例如:
python 复制代码
mingzi = ['张三', '李四', '王五', '赵六']
for a in mingzi:
    print(a)
- **`while`循环**:在条件为真时重复执行语句块。例如:
python 复制代码
a = 0
while a < 10:
    print(a)
    a += 1
- **区别**:`for`循环适用于遍历已知长度的序列,自动处理索引和迭代步长,更简洁易读,适用于已知循环次数的情况;`while`循环根据条件迭代,需要手动控制循环变量和退出条件,更灵活,适用于不确定循环次数的情况。
  1. 循环控制语句
    • continue:跳过此次循环的剩余操作,继续下一次循环。例如:
python 复制代码
mingzi = ['张三', '李四', '王五', '赵六']
for a in mingzi:
    if '王' in a:
        continue
    print(a)
- **`break`**:终止整个循环。例如:
python 复制代码
mingzi = ['张三', '李四', '王五', '赵六']
for a in mingzi:
    if a == '王五':
        break
    print(a)
- **`else`**:在`for`循环正常结束(没有被`break`终止)时执行。例如:
python 复制代码
names = ['张三', '李四', '王五', '赵六']
for name in names:
    if name == '王五':
        print("遇到王五,停止处理!")
        break
    print(name)
else:
    print("所有同学已正常处理完毕!")

(四)推导式

  1. 列表推导式 :语法为列表=[存放到列表的最终元素 for 循环时的元素 in 循环的范围 if 判断的条件]。例如:
python 复制代码
List1 = [a**2 for a in range(10) if a**2 < 30 and a**2 > 10]
print(List1)
  1. 集合推导式 :与列表推导式类似,使用{},语法为列表={存放到集合的最终元素 for 循环时的元素 in 循环的范围 if 判断的条件}
  2. 字典推导式 :语法为列表={最终键:最终值 for 循环时的元素 in 循环的范围 if 判断的条件}

二、实操作业详解

(一)作业1:删除列表中所有值为cat的元素

解题思路是遍历列表副本,避免在删除元素时影响原列表的遍历顺序,也可以使用列表推导式创建新列表。代码实现如下:

python 复制代码
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
# 遍历列表副本进行删除
pets_copy = pets.copy()
for pet in pets_copy:
    if pet == 'cat':
        pets.remove(pet)
print(pets)
# 使用列表推导式创建新列表
new_pets = [pet for pet in pets if pet != 'cat']
print(new_pets)

(二)作业2:依次弹出列表的最后一个元素

Python列表的pop()方法可以删除并返回列表的最后一个元素。通过循环不断调用该方法,直到列表为空,就能依次弹出所有元素。代码如下:

python 复制代码
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
while pets:
    popped_pet = pets.pop()
    print(popped_pet)

(三)作业3:依次删除字符串的第一个字符并输出字符串

由于字符串是不可变对象,不能直接删除字符,但可以通过切片操作,每次获取从第二个字符开始的子串来实现。代码如下:

python 复制代码
x ='spam'
while x:
    print(x)
    x = x[1:]

(四)课堂练习1:找出10 - 30之间的质数

质数是除了1和它自身外,不能被其他自然数整除的数。遍历10到30之间的每个数,用2到它本身减1之间的数去试除,如果都不能整除,这个数就是质数。代码如下:

python 复制代码
for num in range(10, 31):
    is_prime = True
    for i in range(2, num):
        if num % i == 0:
            is_prime = False
            break
    if is_prime and num > 1:
        print(num)

(五)课堂练习2:只打印0 - 50之间的奇数

奇数不能被2整除。可以遍历0到50之间的数,判断除以2的余数是否为1;也可以利用range()函数的步长特性,从1开始,步长设为2来直接遍历奇数。代码如下:

python 复制代码
# 方法一:判断余数
for i in range(51):
    if i % 2 == 1:
        print(i)
# 方法二:利用range步长
for i in range(1, 51, 2):
    print(i)

今天学习的Python基础语法和完成的实操作业是Python编程的重要基石。通过不断练习这些基础内容,我们能逐渐熟悉Python的编程思维,为后续更深入的学习打下坚实的基础。希望大家和我一样,在Python的学习道路上不断进步,享受编程的乐趣!

相关推荐
懒大王爱吃狼11 分钟前
Python绘制数据地图-MovingPandas
开发语言·python·信息可视化·python基础·python学习
数据小小爬虫14 分钟前
如何使用Python爬虫按关键字搜索AliExpress商品:代码示例与实践指南
开发语言·爬虫·python
martian66537 分钟前
第17篇:python进阶:详解数据分析与处理
开发语言·python
无码不欢的我40 分钟前
使用vscode在本地和远程服务器端运行和调试Python程序的方法总结
ide·vscode·python
五味香41 分钟前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin
金融OG1 小时前
99.8 金融难点通俗解释:净资产收益率(ROE)
大数据·python·线性代数·机器学习·数学建模·金融·矩阵
fmdpenny1 小时前
Django的安装
后端·python·django
小爬菜1 小时前
Django学习笔记(启动项目)-03
前端·笔记·python·学习·django
小爬菜1 小时前
Django学习笔记(bootstrap的运用)-04
笔记·学习·django