python学习——核心语法一
·
#三引号字符串定义
message = """
Hello World
Hello Python
How are you ?
This is my job.
In the rule.
"""
print(message)
#match ...case 学习
# day = int(input("请输入星期几(1-7)"))
match day:
case 1: print("周一:工作会议")
case 2: print("周二:学习培训日")
case 3: print("周三:项目开发日")
case 4: print("周四:代码审查日")
case 5: print("周五:总结规划日")
case 6 | 7: print("周末轻松日")
case _: print("输入错误") #如果所有的都没有匹配到,就会执行默认的case _
#while 学习
i =1
total = 0
while i<=100:
if i%2==0:
total += i
i=i+1
print(f"1到100所有偶数之和为:{total}")
message = "Hello-Python"
#for 学习,字符串直接可以循环打印
for m in message:
print(m)
#for...range学习 1加到100
total = 0
for i in range(1,101):
total+=i
print(total)
#for...range学习 1到100奇数打印
for i in range(1,101,2):
print(i,end = " ")
print()
#for...range学习 1,4,7,10....间隔3个数打印
for i in range(1,101,3):
print(i,end = " ")
print()
#嵌套循环,打印9*9乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={i*j} ",end=' ')
print()
#嵌套循环,打印国际象棋棋盘
for i in range(1,20):
for j in range(1,20):
if (i+j)%2==1:
print("□",end=" ")
else:
print("■",end=" ")
print()
#太神奇了,字符还能用乘法,达到多次输出的效果。
print('*'*5)
#嵌套循环 """打印等腰三角形"""
#太神奇了,字符还能用乘法,达到多次输出的效果。
n= 10
char = "*"
for i in range(1, n+1):
spaces = ' ' * (n - i)
print(spaces + char * (2*i - 1))
# 学习while...break
# while True:
# username = input("请输入用户名")
# password = input("请输入密码")
# if username == "zg" and password == "123456":
# print("登录成功")
# break
# else:
# print("登录失败,重新输入")
#list列表,正向索引,反向索引
# 0,1,2,3,4,5,6,7,8,9
# -9,-8,-7,-6,-5,-4,-3,-2,-1
#列表切片学习
hello = [1,2,3,"Hello",True];
print(hello[2])
print(hello[-2])
print(hello[0:3:2])
print(hello[:-1:])
#列表、字符串切片学习
s= "Hello World"
print(s[0:3])
print(s[0:4:2])
print(s[:-1])
#数字列表常用方法
num = [3,7,8,2,5,6,9,2,1]
print(num)
print(num.index(5))
num.reverse()
print("列表反转",num)
num.append(12)
print(num)
#.sort()是列表的方法,用于就地排序(即直接修改原列表),而不会返回任何值
# num_new = num.sort()
num.sort()
print("排序后的数字列表:",num)
#print除了用f""带变量,也能用逗号隔开直接加一个变量
print("你好","我是你的朋友")
print("总合:",sum(num))
print("平均值:",sum(num)/len(num))
print("最小值",min(num))
print(f"最大值:{max(num)}")
print()
#合并列表
num_list1=[19,23,25,29,32,11,203,502]
num_list2=[9,8,12,93,22,99,10,23,25,80,77,11]
#合并列表方法1
for num in num_list2:
num_list1.append(num)
print("合并后的列表",num_list1)
#列表去重 判断某个元素存在、或不存 in, not in 用法
num_all = []
for item in num_list1:
if item not in num_all:
num_all.append(item)
else :
print(f"{item} 已存在了")
print("去重后的列表",num_all)
#列表结包
#合并列表方法2 ,解包符号学习 *
num_list = [*num_list1,*num_list2]
print("通过解包的方式合并后的列表",num_list)
#合并列表方法3
num_list = num_list1 + num_list2
print("通过加号合并后的列表",num_list)
#重新认识 range : range 是一个用来生成整数序列的内置函数,最常用于 for 循环中控制循环次数,它不会直接生成列表,而是按需计算数字以节省内存
#下面的操作并不会打印出列表
num1 = range(20)
num2 = range(1,21,2)
print(num1)
print(num2)
#案例1 生成所有数字的平方,存到数组中。
#方法一 传统方法
num_list = []
num_list2 = []
for num in range(1,21):
num_list.append(num**2) #幂指数运算符 **
num_list2.append(num**3) # 3次方
print(num_list)
print(num_list2)
#方法二 列表推导式 语法格式 ---> [要插入的值 for in 序列/列表]
num_list3 = [i for i in range(1,21)]
num_list4 = [i**2 for i in range(1,21)]
num_list5 = [i**3 for i in range(1,21)]
print(num_list3)
print(num_list4)
print(num_list5)
#案例2 从一个数字列表中提取所有偶数,并计算其平方,存到另一个列表中 列表推导式-->判断偶数
#列表推导式,语法2: [要输入的值 for i in 列表 if 条件]
num_list = [13,1,2,3,4,5,6,7,8,9,10,11,12]
num_list2 = [ i for i in num_list]
print(num_list2)
num_list3 = [i**2 for i in num_list if i%2==0] # [要输入的值 for i in 列表 if 条件]
print(num_list3)
#字符串切片
str = "Hello Python Well Come to China"
print(str[0:7])
#字符串反转
print(str[-1:-7:-1]) #从后往前截取,步长也要是负数
print(str[-1:(len(str)+1)*-1:-1]) #字符串反转
#字符串分割
ss = str.split(" ")
print(ss)
#字符串替换
ss2 = str.replace(" ",'#')
print(ss2)
ss3 = ss2.split("#")
print(ss3)
#字符串查找
print("find 查找位置",str.find("o"))
# str.index("index 查找位置","o") //slice indices must be integers or None or have an __index__ method 这个方法只能在数字中
print("count查找子字符串出现的次数",str.count("o"))
print(str.upper())
str = "hello worlD"
print(str.strip()) #去除字符串两端的空格,不是trim,而是strip
print(str.capitalize()) #仅首字母大写,其余全小写(不管原来大小写)
print(str.title()) #将字符串中每个单词的首字母转为大写,其余字母转为小写,并返回新字符串
str2 = " Hello "
print(str2.strip())
#案例 输入一个字符串,判断是否是回文
#黄山落叶松叶落山黄
# ss = "黄山落叶松叶落山黄"
ss = "你好啊小朋友"
dd = ss;
ss2 = [*dd]
print("字符串解包成列表",ss2)
ss2.reverse()
print("列表反转",ss2)
#将字符数组合并成字符串
ss3 = "".join(ss2)
print(ss3)
#列表 list 可重复,有序,可以修改的
#元组 tuple 元组是不可变的序列,类似列表,但创建后不可修改 元素有序,可重复
#元组的定义
t1 = (5,7,9,2,3,8,2,7,11,13,6)
t2 = ()
t3 = tuple()
t4 = (100,) #单元素元组,加一个,
print(t1)
print(t1.count(7))
print(t1.index(3)) #打印第一次出现的位置索引,0开始
print(type(t1))
print(t1[0])
print(t1[-1])
print(t1[0:5:2])
#组包 将多个值合并到一个集合中
#解包 将集合解开成独立的元素
t1=(1,3,5,7)
t2 = 1,2,3,4,5 #不加括号也会当成是定义元组
print(type(t2))
#基础解包
a,b,c,d = t1
print(a,b,c,d) #可以打印多个变量值
a,*b = t1 #解包后b里面存放的是一个列表,便于操作
print(a,b)
#拓展解包
list1 = [1,2,3,4]
first,*middle,last = [1,2,3,4,5,6]
pre,*suf = list1
print(first)
print(middle)
print(last)
print((suf))
print(type(suf))
print(*suf)
#案例1 两个变量交换
a = 10
b = 20
t = a,b
b,a = t
print(a,b)
#合并步骤
a,b = (b,a)
a,b = b,a
print(a,b)
#案例3 三个变量交换
a = 100
b = 200
c = 300
#组包->解包 分解步骤
t = a,b,c
c,b,a = t
print(a,b,c)
#合并步骤
c,b,a = a,b,c
print(a,b,c)
更多推荐

所有评论(0)