坚持是一件说起来容易,做起来不容易的事情。
pass关键字在Python中没有任何意义,只是单纯的实现占位,保证语句的完整性。
pass使用pass进行占位,没有意义仅仅是为了保证语句的完整性,使程序不出错。
案例学习:
age=int(input("请输入你的年龄:"))if age >16:#print("欢迎光临游戏城")passprint("hello world")
输出结果如下:
请输入你的年龄:20hello world
#while循环 介绍
1)#循环:旨在解决实现相同的事情重复做
比如,正常情况下输出10遍的hello world,操作如下:
print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")
while 循环的语法:
1.初始条件while
2.判断条件:循环体
3.更新条件
补充说明:在while循环中初始条件只会在第一次循环时执行。后续循环不再执行初始条件。在Python中不支持自增自减运算。在Python中没有do while循环结构。
案例参考:
num = 0while num < 10:print("hello world")num += 1
输出结果如下:
print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")print("hello world")
1、输出1-100之间所有的数字,练习如下:
num = 1while num<= 100:print(num)num +=
输出结果如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
2、输出1-100之间所有数字的和,练习如下:
num =1result=0#定义变量,接收1-100之间数字的和while num <= 100:result =result +numnum += 1print(result)
输出结果如下:
50503、计算1-100之间所有的偶数数字的和,练习如下:
num =1result=0#定义变量,接收所有的偶数数字的和while num <= 100:if num %2 == 0:# 判断数字是否是偶数,若是偶数,才把计算的结果保存到result中去result =result +numnum += 1print(result)#2550
输出结果如下:
25504、计算1-100之间所有奇数的和,练习如下:
num = 1result =0while num <= 100:if num %2 != 0: #判断数字是否为奇数result =result + numprint(result)
输出结果如下:
25001、#死循环:无法终止循环的终止条件;
2、输入用户名和密码?当用户名和密码正确后停止输入,否则一直输入;
3、正确的用户名和密码:张三123456。
while True:username = input("请输入用户名:")password = input("请输入密码:")if username =="张"and password =="123456":print("恭喜您,账号和密码正确,欢迎光临")breakelse:print("用户名和密码错误,请重新输入")
输出结果如下:
请输入用户名:李四请输入密码:123用户名和密码错误,请重新输入请输入用户名:王五请输入密码:355用户名和密码错误,请重新输入请输入用户名:张三请输入密码:123456恭喜您,账号和密码正确,欢迎光临
Python中for循环是指:for...in....,和其他语言的for循环语法不一样。
语法: for元素in可选代对象。
补充说明:
1.Python中的可迭代对象一般是指字符串\列表)元组)集合等;
2.range是用来生成指定区间的整数序列。
1)第一个参数表示从几开始,包含它;
2)第二个参数表示到几结束,不包含它。
案例参考:
#输出1-10之间的所有数字for i in range(1,11):print(i)#使用for循环输出列表中的元素for i in [12,34,5,6,86,42]print(i)#使用for循环遍历字符串for i in "hello"print(i)#使用for遍历字符串for i in "欢迎光临"print(i)
输出结果为:
'''12345678910'''1234568642'''hello'''欢迎光临
1、break和continue主要用于Python中的循环程序中;
2、break是用来结束整个循环,一般用于死循环中,结束循环的执行;
3、continue是跳出当前循环,开始下一轮循环。
案例参考:
num=0while num < 5:if num == 3:num += 1breakprint(num)num += 1
输出结果为:
0 1 2当num==3时,不输出这个值,继续后续的输出。
案例参考:
num = 0while num < 5:if num == 3:num +=1continueprint(num)num += 1
输出结果为,
0124
二、#嵌套循环
while循环和for循环可以嵌套使用,一般情况下嵌套的层级不会超过3层。
注意:
1、在双重循环中,外层循环控制的行,内层循环控制的是每行的个数。
2、在双重循环中,外层循环执行一次,内层循环执行一圈。
使用嵌套循环的方式输出下面的图形:
需求:
****
****
****
是一个三行四列的图形,外层循环控制行数,内层循环控制每行输出几个*
(一)for 循环嵌套语法:
for i in 序列:for j in 序列2:循环体
案例参考:
# 使用for循环嵌套实现上述图形的打印for i inrange(0,3):for j in range(0,4):print("*" ,end="\t")print() #每行输出完毕后,实现换行
输出结果为:
************
(二)while 循环嵌套语法:
初始条件1:while 终止条件1:初始条件2:while 终止条件2:循环体更新条件2更新条件1
案例1参考:
i = 0while i < 3:j = 0while j < 4print ("*",end = " ")j += 1i += 1
输出结果为:
************
案例2参考:
i = 0while i < 3:j = 0while j < 4print ("*",end = " ")j += 1i += 1
输出结果为:
*************案例3参考:
# i初始变量表示的外层循环,控制输出几行i = 0while i < 3:#j 初始变量表示是内层循环,控制每行输出几个*j = 0while j < 4:# end 表示输出内容后,以什么符号拼接print ("*",end=" ")j += 1i += 1# 单独调用print()实现换行效果print()
输出结果为:
************
1、嵌套循环中,外层循环执行一次,内层循环执行一圈。
i=0 #外层循环while i < 9:i += 1j = 0 #内层循环while j < 9:j += 1print(i,"*",j,"=",(j*j),end=" ")print()
代码中的注释,从理解代码的逻辑,将其看起来这是一个嵌套循环,外层循环变量i从0开始,但循环体内先i+=1,所以i从1到9?因为while i < 9,当i=0时进入,i变成1。
接着是内层循环j,需从0开始,内层循环体内j+=1,所以j从1到9。打印的是i, "", j, "=", (jj)。
温馨提示:jj而不是ij,简而言之是打印乘法表,但事实是j的平方,而不是i乘以j。而且每次内层循环结束后有一个print()换行。
因此,输出应该是9行,每行有9个式子,每个式子形式类似于 "i * j = j*j",其中i从1到9,j从1到9。需关注每行内式子之间用空格分隔(因为有end=" "),而且每行结束后都需要换行。
代码逻辑思路来模拟:i=1时,j从1到9,打印:1 * 1 = 1, 1 * 2 = 4, 1 * 3 = 9, ... 1 * 9 = 81然后换行。i=2时,j从1到9,打印:2 * 1 = 1, 2 * 2 = 4, ... 2 * 9 = 81等等。
因为,等式右边是j*j,所以对于固定的j,结果无论如何都一样,只不过左边的i有所变化。
也因此每一行中,对于了不同的j,结果会有所不同。
当同一列中时,不同i的结果相同是因为只依赖j。
这种情况,实际上就是打印了一个表格,其中每个单元格是j的平方,因左边标有i。
所以输出结果就是9行,每行9个这样的式子。
代码中的“print(i,"",j,"=",(jj),end=" ") ”会在每个式子后加空格,最后一个也有空格,然后是换行。代码中i和j是整数,print会自动用空格分隔多个参数,所以输出如 "1 * 1 = 1" 中间有空格。实际上print(i,"",j,"=",(jj)) 会输出 "1 * 1 = 1" 每个部分之间有一个空格。所以每个式子形如 "i * j = 值" 且各部分空格分隔。
综上所述,最终输出会等到一个9行9列的矩阵。
具体如下:
第一行:i=1j=1: 1 * 1 = 1j=2: 1 * 2 = 4j=3: 1 * 3 = 9j=4: 1 * 4 = 16j=5: 1 * 5 = 25j=6: 1 * 6 = 36j=7: 1 * 7 = 49j=8: 1 * 8 = 64j=9: 1 * 9 = 81每个式子后跟一个空格,然后换行。
所以第一行是:1 * 1 = 1 1 * 2 = 4 1 * 3 = 9 1 * 4 = 16 1 * 5 = 25 1 * 6 = 36 1 * 7 = 49 1 * 8 = 64 1 * 9 = 81
注意最后也有一个空格,然后换行。
类似地,第二行i=2:2 * 1 = 1 2 * 2 = 4 2 * 3 = 9 2 * 4 = 16 2 * 5 = 25 2 * 6 = 36 2 * 7 = 49 2 * 8 = 64 2 * 9 = 81...
直到第九行i=9:9 * 1 = 1 9 * 2 = 4 9 * 3 = 9 9 * 4 = 16 9 * 5 = 25 9 * 6 = 36 9 * 7 = 49 9 * 8 = 64 9 * 9 = 81
所以总共9行。
外层循环条件 while i < 9,i初始0,然后i+=1,当i=8时,进入循环,i变成9,然后内层循环j从1到9,打印,然后i=9,再次判断 while i < 9? 9<9为假,退出。最终结果就是i从1到9共9次。
正常代码运行后的输出结果如下:
1 * 1 = 1 1 * 2 = 4 1 * 3 = 9 1 * 4 = 16 1 * 5 = 25 1 * 6 = 36 1 * 7 = 49 1 * 8 = 64 1 * 9 = 812 * 1 = 1 2 * 2 = 4 2 * 3 = 9 2 * 4 = 16 2 * 5 = 25 2 * 6 = 36 2 * 7 = 49 2 * 8 = 64 2 * 9 = 813 * 1 = 1 3 * 2 = 4 3 * 3 = 9 3 * 4 = 16 3 * 5 = 25 3 * 6 = 36 3 * 7 = 49 3 * 8 = 64 3 * 9 = 814 * 1 = 1 4 * 2 = 4 4 * 3 = 9 4 * 4 = 16 4 * 5 = 25 4 * 6 = 36 4 * 7 = 49 4 * 8 = 64 4 * 9 = 815 * 1 = 1 5 * 2 = 4 5 * 3 = 9 5 * 4 = 16 5 * 5 = 25 5 * 6 = 36 5 * 7 = 49 5 * 8 = 64 5 * 9 = 816 * 1 = 1 6 * 2 = 4 6 * 3 = 9 6 * 4 = 16 6 * 5 = 25 6 * 6 = 36 6 * 7 = 49 6 * 8 = 64 6 * 9 = 817 * 1 = 1 7 * 2 = 4 7 * 3 = 9 7 * 4 = 16 7 * 5 = 25 7 * 6 = 36 7 * 7 = 49 7 * 8 = 64 7 * 9 = 818 * 1 = 1 8 * 2 = 4 8 * 3 = 9 8 * 4 = 16 8 * 5 = 25 8 * 6 = 36 8 * 7 = 49 8 * 8 = 64 8 * 9 = 819 * 1 = 1 9 * 2 = 4 9 * 3 = 9 9 * 4 = 16 9 * 5 = 25 9 * 6 = 36 9 * 7 = 49 9 * 8 = 64 9 * 9 = 81
代码改写参考,如下:
i=0 #外层循环while i < 9:i += 1j = 0 #内层循环while j < i:#每行显示几个乘法,取决于第几行j += 1print(i,"*",j,"=",(j*j),end=" ")print()
代码运行结果,如下:
1 * 1 = 12 * 1 = 13 * 1 = 1 3 * 2 = 44 * 1 = 1 4 * 2 = 4 4 * 3 = 95 * 1 = 1 5 * 2 = 4 5 * 3 = 9 5 * 4 = 166 * 1 = 1 6 * 2 = 4 6 * 3 = 9 6 * 4 = 16 6 * 5 = 257 * 1 = 1 7 * 2 = 4 7 * 3 = 9 7 * 4 = 16 7 * 5 = 25 7 * 6 = 368 * 1 = 1 8 * 2 = 4 8 * 3 = 9 8 * 4 = 16 8 * 5 = 25 8 * 6 = 36 8 * 7 = 499 * 1 = 1 9 * 2 = 4 9 * 3 = 9 9 * 4 = 16 9 * 5 = 25 9 * 6 = 36 9 * 7 = 49 9 * 8 = 64 9 * 9 = 81
案例参考:
for i in range (1,10):for j in range (1,j+1):print(j,"*",i,"=",(i*j),end=" ")print()
代码运行结果,如下:
1 * 1 = 12 * 1 = 13 * 1 = 1 3 * 2 = 44 * 1 = 1 4 * 2 = 4 4 * 3 = 95 * 1 = 1 5 * 2 = 4 5 * 3 = 9 5 * 4 = 166 * 1 = 1 6 * 2 = 4 6 * 3 = 9 6 * 4 = 16 6 * 5 = 257 * 1 = 1 7 * 2 = 4 7 * 3 = 9 7 * 4 = 16 7 * 5 = 25 7 * 6 = 368 * 1 = 1 8 * 2 = 4 8 * 3 = 9 8 * 4 = 16 8 * 5 = 25 8 * 6 = 36 8 * 7 = 499 * 1 = 1 9 * 2 = 4 9 * 3 = 9 9 * 4 = 16 9 * 5 = 25 9 * 6 = 36 9 * 7 = 49 9 * 8 = 64 9 * 9 = 81
1、字符串的声明
一对单引号或者一对双引号或者一对三个单引号或者一对双引号都可以声明一个字符串。
# a="hello"# b='world'# c='''床前明月光'''# d="""疑是地上霜"""# print(a,b,c,d)
输出结果如下:
hello world 床前明月光 疑是地上霜2、若字符串中的内容还需要引号包裹,外面若是单引号,里面只能使用双引号,外面若是双引号,里面只能使用单引号。
n="i say:'my name is jack"m='i say:"my name is nini"'print(n)print(m)
输出结果如下:
i say:'my name is jack'i say: "my name is nini"
3、转义字符:
\让符号去原有的意义
\':表示转义单引号
\'':表示转义双引号
\n:表示换行符
\t:表示制表符
e="你\"好吗?”#print(e)f="欢迎学习\n Python"g="今天天气\t很晴朗!"print(f)print(g)
输出结果如下:
欢迎学习Python今天天气 很晴朗
4、字符串前加r,表示原样输出,字符串前加f,支持{}语法
h=r"i am a \teacher"print(h)name = "张三"age = "22"print(f"我的姓名是:{name},年龄是:{age}")
输出结果如下:
i am a \teacher我的姓名是:张三,年龄是:22
下标,也叫做索引,表示第几个数据。在计算机程序中,下标一般从0开始,可以通过下标获取指定位置的数据。
str1 = "welcome"#print(str1[3]) #c切片:从字符串中复制一段指定的内容,生成一个新的字符串str2 = "welcome to beijing"
切片的语法:
字符串[start:end:step]
start表示开始下标,截取的字符串包含开始下标的数据
end 表示结束下标,截取的字符串不包含结束下标的数据
step表示步长,默认值是1
输出结果如下:
c案例参考:
print(sr2[0:3]) #wel包含start,不包含end。print(str2[1:]) #若只设置了start表示从开始下标一直截取到最后print(str2[:4]) #若只设置了end表示从第一个字符开始一直截取到指定结束的位置print(str2[1:4:2]) #ec 步长设置为2#print(str2[1:4:0]) #在切片的时候,步长不能设置为0print(str2[::]) #表示翻转字符串print(str2[-9:-3])#start和end若都为负数,表示从右边开始数
输出结果如下:
welelcome to beijingwelcecwelcome to beijinggnijieb ot emoclewo beij
1、获取字符串的长度和统计字符串出现的次数。
案例参考:
str1="我的电脑有点卡了,你的电脑卡吗?"# len()统计字符串的长度print(len(str1)) #16#count()在整个字符串中统计子串出现的次数print(str1.count("电脑"))——# 2
输出结果为:
162
2、字符串的大小写转换
案例学习:
# upper() 将小写字母全部转换为大写字母# longer()str2 = " i Miss you VERY much"print(str2.upper())# lower() 将大写字母全部转换为小写字母print(str2.lower())#swapcase() 将字符串中的大写字母转换为小写,将小写字母转换为大写print(str2.swapcase)# title() 将单词的每个首字母转换为大写print(str2.title())
输出结果如下:
I MISS YOU VERY MUCHi miss you very muchI miSS TOU very MUCH
3、查找字符串出现的位置
案例学习:
str3 = "abcdefghijklmn123987654zxyslt"# find() 查找子串在字符串中第一次出现的位置,若找到了返回的是下标,若未找到返回-1print(str3.find("l")) #11print(str3.find("o")) #-1# index() 功能和find类似,若未找到直接报错print(str3.index("a")) #0# print(str3.index("p")) #直接报错# rfind() 查找子串在字符串中最后一次出现的位置,找到了返回的是下标,若找到返回-1print(str3.rfind("l"))print (str3.rfind("q")) #-1# 在指定范围内查找print(str3.find("l",3,12))print(str3.index("l",3,12))
输出结果如下:
I Miss You Very Much11-1028-1281111
strip()去除字符串两边的指定字符(默认去除的是空格)
案例学习:
str1="today is a nice day"str2="***today is a nice day***"# print(str1)# print(str1.strip())# print(str2)# print(str2.strip("*"))# lstrip() 只去除字符串左边的指定字符# print(str2.lstrip("*"))# rstrip() 只去除字符串右边的指定中字符# print(str2.rstrip("*"))# 字符串的分割和合并# split() 以指定字符对字符串进行分割(默认是空格)str3="this is a string example...."print(str3.split()) #['this','is','a','string','example....']# print(str3.split("i")) #['th','s a str','ng example....']# join() 合并字符串str4 = "-"tup = ("hello","every","body")print(tup)print(str4.join(tup))
输出结果如下:
today is a nice daytoday is a nice day***today is a nice day***today is a nice day******today is a nice day['this','is','a','string','example....']['th','s','s a str','ng example....']('hello','every','body')
1、字符串的替换:将字符串中指定内容进行替换。
replace() 对字符串中的指定数据进行替换
1)第一个参数:要替换的内容
2)第二个参数:替换后的内容
3)第三个参数:控制替换次数
案例学习:
str1 = "这个店铺的商品很垃圾,这么垃圾的产品怎么能用来卖呢?"print(str1)print(str1.replace("垃圾","**"))print(str1.replace("垃圾","**",1))
输出结果如下:
这个店铺的商品很垃圾,这么垃圾的产品怎么能用来卖呢?这个店铺的商品很**,这么**的产品怎么能用来卖呢?这个店铺的商品很**,这么垃圾的产品怎么能用来卖呢?
2、字符串的判断:返回的结果是布尔类型,若成立返回True,不成立返回False。
isupper() 检测字符串中的字母是否全都是大写。
islower() 检测字符串中的字母是否全部是小写
isdigit() 检测字符串是否全部都是数字
istitle() 检测字符串中的首字母是否全部嗾使大写
isalpha() 检测字符串中的内容是否全部是由字母或文字组成
案例学习:
isupper()print("helloWORLD".isupper())_# Falseprint("HELLO".isupper())_# Trueislower()print("hello".islower()) # Trueprint("Hello".isiower()) # Falseisdigit()print("123".isdigit()) # Trueprint("123asd".isdigit()) # FalseisTitle()print("Hello World".istitle()) # Trueprint("hello World".istitle()) # Falseisalpha()print("你好nini".isalpha()) # Trueprint("你好nini".isalpha()) # False
输出结果如下:
FalseTrueTrueFalseTrueFalseTrueFalseTrueFalse
1、字符串的编码和解码及ascii码的转换
案例学习:
#编码和解码str1="我爱你中国"# encode()编码 gbk utf-8print(str1.encode()) #b'\xe6\x88\x91\xe7\x88\xb1\xe4\xba\xad\zb8\xad\xe5\x9b\xbd'print(str1.encode('utf-8'))print(str1.encode('gbk'))str2 = print(str1.encode()) #b'\xe6\x88\x91\xe7\x88\xb1\xe4\xba\xad\zb8\xad\xe5\x9b\xbd'
输出结果如下:
b'\xe6\x88\x91\xe7\x88\xb1\xe4\xba\xad\zb8\xad\xe5\x9b\xbd'b'\xe6\x88\x91\xe7\x88\xb1\xe4\xba\xad\zb8\xad\xe5\x9b\xbd'b'\xce\xd2\xb0\xae\xc4\xe3\xd6\xd0\xb9\xfa'
print(chr(97)) # aprint(chr(68)) # Dprint(ord("c")) # 99print(ord("z")) # 90
aD9990

(从基础背景开始学起,坚持,是一件不容易的事情。)

文章推荐
文 | Lisa Notes
Lisa Notes |一个Lisa’s notes:生活、工作、学习中那些事儿,感悟自我成长,随心随笔杂谈。微信搜索「Lisa Notes」(ID:Lisa-notes),查看更多信息,原创小说,PPT干货分享。

长按♥一键关注
请在微信客户端打开
特别声明
本文为自媒体、作者等在微信公众号上传并发布,仅代表作者观点,不代表微信公众号的观点或立场,微信公众号仅提供信息发布平台,最终解释权归本人所有。合作请联系13698281600@163.com。
全世界只有不到0.03%的人
关注小SA
你真是个特别的人
快戳我!快戳我!快戳我!㊋㊋㊋