目录
1.用python设计第一个游戏
2.分支branch(由if语句实现)
3.while循环
一周打卡程序
4.循环结构的嵌套(nested loop)
九九乘法表程序
5.for循环
6.range函数
找出10以内所有素数(即质数)
1.用python设计第一个游戏
"""用Python设计第一个游戏""" import random counts=3 answer=random.randint(1,10) while counts>0 temp=input("不妨猜一下小甲鱼现在心里想的是哪个数字:") guess=int(temp) if guesss==answer: print("你是小甲鱼心里的蛔虫嘛?!") print("哼,猜中了也没奖励!") break else: if guess<answer print("小啦~") else: print("大啦~") counts=count-1 print("游戏结束,不玩啦^-^")2.分支branch(由if语句实现)
判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块
语法结构:if condition:statement(s)
if condition: statement(s)
[其包含] 指该缩进级之下的缩进级别文本语句
[缩进] 决定从属关系,拥有同一级别缩进的文本构成一个代码块,so在同一代码块中每一条语句的缩进量必须相同
if 3<5: print("我在里面~") print("我也在里面~") print("我在外面~") >>>我在里面~ 我也在里面~ 我在外面~ if 3>5 print("我在里面~") print("我也在里面~") print("我在外面~") >>>我在外面~判断一个条件,如果条件成立就执行其包含的某条件语句或某个代码块;如果条件不成立,就执行另外的某条语句或代码块
语法结构:if condition: statement(s)else:statement(s)
if condition: statement(s) else: statement(s)if "小甲鱼""=="小姐姐" print("小甲鱼是小姐姐!") else: print("小甲鱼不是小姐姐!") >>>小甲鱼不是小姐姐!
判断多个条件, 如果第一个条件不成立,则继续判断第二个条件,如果第二个条件还不成立,则接着判断第三个条件......
判断多个条件, 如果第一个条件不成立,则继续判断第二个条件,如果第二个条件还不成立,则接着判断第三个条件......
if condition1: statement(s) elif condition2: statement(s) elif condition3: statement(s) ...score=input("请输入你的分数:") score=int(score) if 0<=score<60: print("D") if 60<=score<80: print("C") if 80<=score<90: print("B") if 90<=score<100: print("A") if score==100: print("S")score=input("请输入你的分数:") score=int(score) if 0<=score<60: print("D") elif 60<=score<80: print("C") elif 80<=score<90: print("B") elif 90<=score<100: print("A") elif score==100: print("S")
在第三种的情况下添加一个else,表示上面所有的条件均不成立的情况下,执行某条语句或某个代码块
语法结构:if condition1:statement(s) elif conditation2:statement(s):elif conditation3:statement(s)...else:statement(s)
score=input("请输入你的分数:") score=int(score) if 0<=score<60: print("D") elif 60<=score<80: print("C") elif 80<=score<90: print("B") elif 90<=score<100: print("A") elif score==100: print("S") else: print("请输入0~100之间的分值!")score=66 if 0<=score<60: level="C" elif 60<=score<80: level="C" elif 80<=score<90: levle="B" elif 90<=score<100: level="A" elif score==100: level="S" else: level="请输入0~100之间的分值^o^" print(level)条件表达式
条件成立时执行的语句if condition else条件不成立时执行的语句
>>> age=16 >>>if age<18: print("抱歉,未满18岁禁止访问。") else: print("欢迎您来^o^") 抱歉,未满18岁禁止访问。 >>> print("抱歉,未满18岁禁止访问。") if age<18 else print("欢迎您来^o^") 抱歉,未满18岁禁止访问。>>>a=3 >>>b=5 >>>if a<b: small=a else: small=b >>>small=a if a<b else b >>>print(small) 3score=66 if 0<=score<60: level="C" elif 60<=score<80: level="C" elif 80<=score<90: levle="B" elif 90<=score<100: level="A" elif score==100: level="S" else: level="请输入0~100之间的分值^o^" print(level) >>>score=66 >>>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) >>>C分支结构的嵌套
>>>age=18 >>>isMale=ture >>>if age<18: print("抱歉,未满18岁禁止访问。") else: if isMale: print("任君选购!") else: print("抱歉,本店商品可能不适合小公举哦~") 任君选购!3.while循环
通过条件决定循环体内的内容是否重复的去执行
语法结构:while condition:
statement(s)
>>>love="yes" >>>while love=="yes": love=input("今天你还爱我吗?") 今天你还爱我吗?yes 今天你还爱我吗?yes 今天你还爱我吗?yes 今天你还爱我吗?yes 今天你还爱我吗?no #yes时满足条件 进入循环体,no不满足循环终止Python循环体系求和
>>>i=1 >>>sum=0 >>>while i<=1000000 sum=sum+i i=i+1 >>>print(sum) 500000500000[i=i+1] 简写为i+=1
[sum=sum+i] 简写为sum+=i
死循环(死机情况)
>>>while Ture: print("作为一段没有灵魂的代码,我的任务就是不断地干活!") #以上代码回车后进入无限循环重复输出打印语句,可使用ctrl+c进行强制结束程序break语句跳出循环体(直接脱离循环体,循环结束)
>>>while TUre: answer= input("主人,我可以退出循环了吗?") if answer==("可以"): break 主人,我可以退出循环了吗?走着! 主人,我可以退出循环了吗?继续! 主人,我可以退出循环了吗?坚持! 主人,我可以退出循环了吗?可以! >>>while TUre: answer= input("主人,我可以退出循环了吗?") if answer==("可以"): break print("哎,好累~~~") 主人,我可以退出循环了吗?不行! 哎,好累~~~ 主人,我可以退出循环了吗?努力! 哎,好累~~~ 主人,我可以退出循环了吗?闭嘴 哎,好累~~~ 主人,我可以退出循环了吗?可以!continue语句跳出循环体(仅跳出本轮循环,相当于插叙)
>>>while i<=10: i+=1 if i%2==0: continue print(i) 1 3 5 7 9else语句(当循环条件不在为真是else语句被执行)
i=1 while i<5: print("循环内,i的值是",i) i+=1 else: print("循环外,i的值是",i) #使用break语句时,条件为真,中途跳出循环,则else语句依旧不被执行 i=1 while i<5: print("循环内,i的值是",i) if i=2: break i+=1 else: print("循环外,i的值是",i) >>> 循环内,i的值是1 循环内,i的值是2一周打卡程序
day=1 while day<=7: answer=input("今天有好好学习吗?") if answer!="有": break day+=1 else: print("非常棒,你已经坚持了7天连续学习!") >>> 今天有好好学习吗?有 今天有好好学习吗?有 今天有好好学习吗?有 今天有好好学习吗?有 今天有好好学习吗?有 今天有好好学习吗?有 今天有好好学习吗?有 非常棒,你已经坚持了7天连续学习! >>> 今天有好好学习吗?有 今天有好好学习吗?有 今天有好好学习吗?有吧 >>>[有吧] 不等于'有'满足break语句的条件
4.循环结构的嵌套(nested loop)
九九乘法表程序
i=1 while i<=9: j=1 whilej<=i: print(j,"*",i,"=",j*i,end=" ") j+=1 print() i+=1本程序分内外两个循环,由while引导,乘法表中为两数相乘,故含两个变量,此处用i j作为二维变量,i管外层循环,j管内层循环,
外层循环操纵横排打印,内层循环操纵纵列的打印
[i=1] 将i赋值为1,i为第一个变量,可理解为纵向变量
[while i<=9] 当i<=9时,此为外层循环条件
[j=1] 将j赋值为1,j为第二个变量,可理解为横向变量
[print(j,"*",i,"=",j*i,end=" ")] 输出结果,此结果前提为i=1(满足<=9的条件)j=1(=i=1满足while中j<=i的条件),故输出结果为1*1=1
[j+=1] 即j=j+1,此为内层循环,j每次多1
[print()] 其作用为每次j=1为基准进行j*i(j<=i)输出后进行换行
[i+=1] 此为外层循环
循环内部操作
i=1,j=1,i*j=1(即1乘1=1)
i=2,j=1,i*j=2 (即2乘1=2) j=2(i依旧为2),2乘2=4
【往后以此类推】
无论是break语句还是continue语句,它们只作用于
一层循环体
day=1 hour=1 while day<=7: while hour<=8: print("今天,我一定要坚持学习8个小时!") hour+=1 if hour>1: break day+=1 >>> 今天,我一定要坚持学习8个小时! 今天,我一定要坚持学习8个小时! 今天,我一定要坚持学习8个小时! 今天,我一定要坚持学习8个小时! 今天,我一定要坚持学习8个小时! 今天,我一定要坚持学习8个小时! 今天,我一定要坚持学习8个小时!注:对于上述循环程序,引入break后为8个循环7次输出,即break只能中断一次循环
5.for循环
语法结构:for变量in可迭代对象:
statement(s)
[可迭代对象] 元素能够被单独提取出来的对象,例:字符串属于可迭代对象
[迭代] eg:一个字符串"Fishc"每次从里面拿取一个字符出来则依次拿出F、i、s、h、c的过程称之为迭代;整数不是可迭代对象
>>>for each in "FishC": print(each) F i s h C >>>for循环每一次从字符串fishC里取出一个字符并赋值给变量each,循环体内只有一个语句,即将each值打印出来,故代码执行结果是将构成"FishC"的5个字符逐个打印
同样需求借助while循环完成
>>>i=0 >>>while i<len("FishC"): print("FishC"[i]) i+=1 F i s h C >>>[len] 即length,函数用于获取一个对象长度,eg:FishC有5个字符其长度就为5
本代码在循环体通过下标索引的办法依次去访问每个字符串里的每一个字符并将其打印出
借助for循环求和
6.range函数
- range(stop)该range函数自带一个stop函数,可生成一个从0开始到stop的整数数列
>>>for i in range(10): print(i) 0 1 2 3 4 5 6 7 8 9 >>> >>>for i in range(11): print(i) 0 1 2 3 4 5 6 7 8 9 10 >>> range(state,stop)
>>>for i in range(4,9): print(i) 4 5 6 7 8 >>>range(state,stop,step)
>>>for i in range(4,9,2): print(i) 4 6 8 >>>[step] 其中step的值可正可负
>>>for i in range(9,4,-2): print(i) 9 7 5以上三种函数的参数只能为整型
>>>sum=0 >>>for i in range(1000001): sum+=i >>>print(sum) 500000500000 >>>该代码进行了1+2+3+...+1000000的加和计算
[sum+=i] 对包含在range内的所有整数i的值进行加和
for循环同样支持嵌套,也可以搭配break和continue语句
找出10以内所有素数(即质数)
>>>for n in range(2,10): for x in range(2,n): if n%x==0: print(n,"=",x,"*",n//x) break else: print(n,"是一个素数") 2 是一个素数 3 是一个素数 4 = 2 * 2 5 是一个素数 6 = 2 * 3 7 是一个素数 8 = 2 * 4 9 = 3 * 3 >>>注:
注⚠️⚠️⚠️:本系列Python笔记为个人学习过程中笔记记录,分享给各位小伙伴,希望能对各位小伙伴有所帮助。在参考笔记时,可根据自己的学习进程选取参考哦。此外,对于笔记中一些个人当时的学习理解,如有不妥欢迎各位小伙伴指正哦~
笔记内容多数是学习Python语言时所记录,主要参考的是Python相关文档教程以及B站鱼C小甲鱼课程