Python入门级[ 基础语法 函数... ] 笔记 例题较多

本文是刚学习Python的笔记,当时使用的编辑器是交互式编程,所以很多代码可能在你们的编译器上面不能运行,我用快引用引起来了,还需要大家自己动手试一试。

内容涉及的比较简单,主要还是Python的语法部分:三元运算条件表达式、嵌套查询、for循环、列表和切片以及相关的函数(这方便还是蛮重要的),当然后续还会更新,蟹蟹٩('ω')大家支持,更多内容,敬请期待!。

有点小用的话,点赞收藏+关注吧!!!

目录

一、三元运算条件表达式、‘format’

例01 if 条件表达式 score

例02 计算三角形的面积:

二、单分支结构,多分支结构:

if条件语句:注释了哈

例03 单分支结构:输入两个数,比较两者大小,使得a大于b

例04 多分支结构:已知坐标点,判断其所在的象限

三、嵌套查询

例05 嵌套查询:九九乘法表

1.下三角型

2.矩形阵

3.上三角型

4.倒三角型

四、for 循环语句:

例06 range(以下是三个代码)参数分别表示(开始,结束[不包含],步长)

例07 找出10以内的素数:

五、列表,切片(实例)

例08 rhyme列表举例

六、列表:函数的使用(extend(),append(),insert(),remove(),pop(),)

例09 extend()的参数必须是一个可迭代对象,新的内容是追加到原列表最后一个元素的后面;

七、列表的乘法和加法:(//:向下取整)

例10 列表的加法是列表的元素组合,乘法是指列表元素出现的次数

例11 创建嵌套列表:

例12 访问嵌套列表:(要使用嵌套循环)

例13 同样,使用下标索引的方式也可以访问嵌套列表:

例14 还可以通过循环语句来创建并初始化二维列表

八、嵌套列表中的浅拷贝 深拷贝

例15 对于嵌套列表,一维元素浅拷贝的copy方法不再适用

例16 题目:将一个列表中的元素变成两倍

1.利用for循环实现:

2.利用列表推导式:[expresssion for i in 列表序列]

九、字符串

例17

十、列表推导式

例18

例19 在【】里面的运算顺序是:1.for循环 2.if条件句 3.循环条件i

例20 找出首字母是F的单词:

例21 降维

例22 for 循环实现降维

例23 字符串的数乘


一、三元运算条件表达式、‘format’

例01 if 条件表达式 score
score = 88
level = ( 'D' if 0<=score<60 else
      'C' if 60<=score<80 else
      'B' if 80<=score<90 else
      'A' if 90<=score<100 else
      'S' if score == 100 else
      "请输出0~100之间的分值^o^")
print(level)
例02 计算三角形的面积:
import math
​
a=float(input("请输入三角形的一边a:"))
b=float(input("请输入三角形的一边b:"))
c=float(input("请输入三角形的一边c:"))
h=(a+b+c)/2
area = math.sqrt(h*(h-a)*(h-b)*(h-c))
print(str.format("三角形的三边为:a = {0},b = {1},c = {2}",a,b,c))
print(str.format("三角形的面积为:area={0}",area))

二、单分支结构,多分支结构:

在Python中,多分支结构和单分支结构是条件语句(也称为选择语句)的两种形式,它们用于根据条件的结果执行不同的代码块。

if条件语句:注释了哈
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3.12第二节
​
# if语句
​
# score = int(input('请输入你的分数:'))
​
# if score >= 60:
​
# #     print('恭喜您测试通过,欢迎加入B站')
​
# #
​
# # else:
​
# #     print('sorry~,还需要加油哦')
​
# # 三目运算
​
# # print('恭喜您测试通过,欢迎加入B站') if score >= 60 else print('sorry~,还需要加油哦')
​
# 
​
# if-elif-else:
​
# score = float(input('请输入您打的分数:'))
​
# if score >= 80 and score <= 100:
​
#     print('视频质量好,三连支持一下')
​
# elif score >= 50 and score < 50:
​
#     print('视频质量还可以,点赞支持一下')
​
# else:
​
#     print('切~,走了')_put = 0
​
# if age >= 18 and output == 1:
​
#     print('满足条件,可以上网')

例03 单分支结构:输入两个数,比较两者大小,使得a大于b
a = int(input("请输入第一个数的值:"))
b = int(input("请输入第二个数的值:"))
print(str.format("输入值:{0},{1}",a,b))
if(a<b):
    t = a
    a = b
    b = t
print(str.format("降序值:{0},{1}",a,b))

例04 多分支结构:已知坐标点,判断其所在的象限
x = int(input("请输入横坐标:"))
y = int(input("请输入纵坐标:"))
​
if(x == 0 and y == 0):print("为原点")
elif(x == 0):print("该点在y轴上")
elif(y == 0):print("该点在x轴上")
elif(x>0 and y>0):print("该点在第一象限")
elif(x<0 and y>0):print("该点在第二象限")
elif(x<0 and y<0):print("该点在第三象限")
elif(x>0 and y<0):print("该点在第四象限")

三、嵌套查询

例05 嵌套查询:九九乘法表
1.下三角型
i = 1
while i<=9:
    j = 1
    while j<=i:
        print(j,"*",i,"=",j*i,end = " ")
        j+=1
    print()
    i+=1
while i<=9:
    j = 1
    while j<=i:
        print(j,"*",i,"=",j*i,end = " ")
        j+=1
    print()
    i+=1

2.矩形阵
i = 1
while i<=9:
    j = 1
    while j<=9:
        print(j,"*",i,"=",j*i,end = " ")
        j+=1
    print()
    i+=1

3.上三角型
row = 9
while row >= 1:
    col = row
    n = 0
    while n < 9 - row:
        print(' ' * 9, end='')
        n += 1
    while col >=1:
        print('{}*{}={:<5d}'.format(row, col, row * col),end='')
        col -= 1
    print('')
    row -= 1
4.倒三角型
j = 1
while j<=9:
    i = j
    while i<=9:
        print(j,"*",i,'=',j*i,end = '  ')
        i+=1
    print()
    j+=1

四、for 循环语句:

例06 range(以下是三个代码)参数分别表示(开始,结束[不包含],步长)
sum = 0
for i in range(1000001):
    sum += i
print(sum)
​
for i in range(0,11):
    print(i)
​
for i in range(10,5,-2):
    print(i)

例07 找出10以内的素数:

注意缩进问题,注意逗号问题

for n in range(2,11):
    for x in range(2,n):
        if n%x == 0:
            print(n ,"=", x, "*", n // x)           #//是整数除法(注意逗号)
            break
    else:
        print(n,"是一个素数")

五、列表,切片(实例)

例08 rhyme列表举例
rhyme = [1,2,3,4,5,"上山打老虎"]
print(rhyme)
​
输出:
rhyme[0]
1
​
length =len(rhyme)
rhyme[length - 1]
​
输出:
​
'上山打老虎'
​
rhyme[-1]
​
输出:
​
'上山打老虎'
​
​
rhyme[:]
​
输出:
​
[1, 2, 3, 4, 5, '上山打老虎']
​
​
rhyme[3:6]
​
输出:
​
[4, 5, '上山打老虎']
​
​
rhyme[2:]
​
输出:
​
[3, 4, 5, '上山打老虎']
​
​
rhyme[0:6:2]
​
输出:
​
[1, 3, 5]
​
​
rhyme[::2]
​
输出:
​
[1, 3, 5]
​
​
​
rhyme[::-1]
​
输出:
​
['上山打老虎', 5, 4, 3, 2, 1]
​
​
rhyme[::-2]
['上山打老虎', 4, 2]

六、列表:函数的使用(extend(),append(),insert(),remove(),pop(),)

例09 extend()的参数必须是一个可迭代对象,新的内容是追加到原列表最后一个元素的后面;

$$
在使用pop删除元素时,需要指定元素下标;在使用remove 时,需要指定元素的值。这里需要注意的是,即使出现多个匹配的元素,remove方法也只删除第一个。 此外,使用pop还可以取出(删除)元素,并将其作为返回值返回。而使用remove只能删除元素,并没有返回值。 如果要清空列表,可以使用clear方法。s
$$

heros = ["钢铁侠","绿巨人"]
heros.append("黑寡妇")                         #只能添加一个元素
heros.extend(["鹰眼","灭霸","雷神"])                       #可以添加n个元素
print(heros)
s = [1,2,3,4,5]
s[len(s):] = [6]
print(s)

insert(n,m)函数:n表示下标,m表示插入的元素

s = [1,3,4,5]
s.insert(1,2)
s.insert(len(s),6)
print(s)

remove函数 当删除的元素是列表里没有时,程序会报错

heros.remove("灭霸")
print(heros)
heros.pop(2)        #pop(n)该函数可以指定元素删除,其中n表示列表下标
print(heros)

七、列表的乘法和加法:(//:向下取整)

例10 列表的加法是列表的元素组合,乘法是指列表元素出现的次数
s = [1,2,3]
t = [4,5,6]
s+t
[1, 2, 3, 4, 5, 6]
s*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
例11 创建嵌套列表:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
或matrix = [[1,2,3],
                     [4,5,6],
                    [7,8,9]]
结果都是matrix(矩阵)

输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

例12 访问嵌套列表:(要使用嵌套循环)

可以通过使用循环语句来实现

matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in matrix:
    for each in i:
        print(each)

输出:

1 2 3 4 5 6 7 8 9 或使用另外一种方法:(注意缩进)

for i in matrix:
    for each in i:
        print(each,end = ' ')
    print()

1 2 3 4 5 6 7 8 9

例13 同样,使用下标索引的方式也可以访问嵌套列表:

此时我们得到的是一行为单位的列表,而不是列表中的元素

print(matrix[0])

访问列表中的元素: 相当于二维数组matrixn,n表示行,m表示列

print(matrix[0][0])

结果就是‘1’

例14 还可以通过循环语句来创建并初始化二维列表
A = [0]*3
for i in range(3):
    A[i] = [0]*3
print("A =",A)
B = [[0]*3]*3
print("B =",B)
A = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
B = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

此时A和B是不一样的 Python和java一样满足数组(列表)的引用,A此时指向的不同常量池, 而B此时指向的是同样的常量池,其实质是引用 以上是自己的理解 "is"是同一性运算符,用于判断两者是否完全相同

A[1][1] = 1
print(A)
B[1][1] = 1
print(B)
[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]
A[0][1] is A[1][1]
False
B[0][1] is B[1][1]
True

字符串是相同的

x = "梦茹同学"
y = "梦茹同学"
x is y
True

浅拷贝:

x = [1,2,3]
y = x
x[1] = 1
x
[1, 1, 3]
y
[1, 1, 3]
​
x = [1,2,3]
y = x.copy()
x[1] = 1
x
[1, 1, 3]
y
[1, 2, 3]
​
x = [1,2,3]
y = x[:]
x[1] = 1
x
[1, 1, 3]
y
[1, 2, 3]

八、嵌套列表中的浅拷贝 深拷贝

例15 对于嵌套列表,一维元素浅拷贝的copy方法不再适用
x = [[1,2,3],[4,5,6],[7,8,9]]
y = x.copy()
x[1][1] = 1
x
[[1, 2, 3], [4, 1, 6], [7, 8, 9]]
y
[[1, 2, 3], [4, 1, 6], [7, 8, 9]]
import copy                             #引入copy模块中的copy方法
##浅拷贝:
​
x = [[1,2,3],[4,5,6],[7,8,9]]
y = copy.copy(x)
x[1][1] = 1
x
[[1, 2, 3], [4, 1, 6], [7, 8, 9]]
y
[[1, 2, 3], [4, 1, 6], [7, 8, 9]]
​
​
##深拷贝:
​
x = [[1,2,3],[4,5,6],[7,8,9]]
y = copy.deepcopy(x)
x[1][1] = 1
x
[[1, 2, 3], [4, 1, 6], [7, 8, 9]]
y
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

import copy
​
# 原始对象  
original_list = [1, 2, [3, 4], 5]
​
# 浅拷贝  
shallow_copy = copy.copy(original_list)
​
# 修改原始列表中的内部列表  
original_list[2][0] = 'a'
​
# 输出浅拷贝列表,可以看到内部列表也被修改了  
print(shallow_copy)  # 输出: [1, 2, ['a', 4], 5]  
​
# 深拷贝  
deep_copy = copy.deepcopy(original_list)
​
# 修改原始列表中的内部列表  
original_list[2][0] = 'b'
​
# 输出深拷贝列表,内部列表没有改变
print(deep_copy)  # 输出: [1, 2, ['a', 4], 5]

例16 题目:将一个列表中的元素变成两倍
1.利用for循环实现:

oho = [1,2,3,4,5] for i in range(len(oho)): oho[i] = oho[i] * 2

oho [2, 4, 6, 8, 10]

2.利用列表推导式:[expresssion for i in 列表序列]
例1:
oho = [1,2,3,4,5]
oho = [i * 2 for i in oho]
oho
[2, 4, 6, 8, 10]
例2:
x = [i for i in range(10)]
x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
​
x = [i+1 for i in range(10)]
x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
例3:
x = []
for i in range(10):
    x.append(i+1)
    
x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

九、字符串

例17
y = [c*2 for c in "FishC"]
y
['FF', 'ii', 'ss', 'hh', 'CC']
​
code = [ord(c) for c in "FishC"]        #ord()获取编码
code
[70, 105, 115, 104, 67]
​
​
matrix = [[1,2,3],
          [4,5,6],
          [7,8,9]]
col2 = [row[1] for row in matrix]
col2
[2, 5, 8]
获取对角线的元素:
diag = [matrix[i][i] for i in range(len(matrix))]
diag
[1, 5, 9]

##(思考怎么获取反对角线上的元素.....)

十、列表推导式

例18
A = [0]*3
for i in range(3):
    A[i] = [0]*3
    
A
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
A[1][1] = 1
A
[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
##利用列表推导式来实现:
S = [[0]*3 for i in range(3)]
S
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
S[1][1] = 1
S
[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
例19 在【】里面的运算顺序是:1.for循环 2.if条件句 3.循环条件i
even = [i for i in range(10) if i % 2 == 0]
even
[0, 2, 4, 6, 8]
even = [i+1 for i in range(10) if i % 2 == 0]
even
[1, 3, 5, 7, 9]
例20 找出首字母是F的单词:
words = ["Great","FishC","Brilliant","Excellent","Fantistic"]
fwords = [w for w in words if w[0] == 'F']
fwords
['FishC', 'Fantistic']

例21 降维
matrix =[[1,2,3],[4,5,6],[7,8,9]]
flatten = [col for row in matrix for col in row]
flatten
[1, 2, 3, 4, 5, 6, 7, 8, 9]
例22 for 循环实现降维
flatten = []            #声明一个空列表
for row in matrix:
    for col in row:
        flatten.append(col)             #append()见row147
        
flatten
[1, 2, 3, 4, 5, 6, 7, 8, 9]
例23 字符串的数乘
[x + y for x in "fishc" for y in "FISHC"]
['fF', 'fI', 'fS', 'fH', 'fC', 'iF', 'iI', 'iS', 'iH', 'iC', 'sF', 'sI', 'sS', 'sH', 'sC', 'hF', 'hI', 'hS', 'hH', 'hC', 'cF', 'cI', 'cS', 'cH', 'cC']
​
_ = []

for 循环

for x in "fishc":
    for y in "FISHC":
        _.append(x+y)
_
['fF', 'fI', 'fS', 'fH', 'fC', 'iF', 'iI', 'iS', 'iH', 'iC', 'sF', 'sI', 'sS', 'sH', 'sC', 'hF', 'hI', 'hS', 'hH', 'hC', 'cF', 'cI', 'cS', 'cH', 'cC']
_ = []
for x in range(10):
    if x % 2 == 0:
        for y in range(10):
            if y % 3 == 0:
                _.append([x,y])
​
[[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9],[6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]
  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值