概述
【03第三章】 程序的流程控制
3.1 程序的描述方式
【代码01】3.1 程序的描述方式
#coding: utf-8
r=eval(input("请输入圆的半径:"))
S=3.14*r*r #面积
L=2*3.14*r #周长
print("圆的面积: ", round(S,2),"周长是: " , round(L,2))
3.2 程序的组织结构_顺序结构
【代码01】3.3简单的if语句
#赋值运算符的执行顺序,.从右到左
name='张三' #将“张三"赋值给变量name'
age=20 #将20赋值给变量age
a=b=c=d=100 #将a , b ,c , d的值同时赋值为100 ,链式赋值
#系列解包赋值
name1,age1='李四',22 #元组分解赋值
print(name ,age)
print(name1,age1)
[name2, age2]=['王五',30] #列表分解赋值
print(name2,age2)
a,b,c,d='room' #字符串分解赋值
print(a)
print(b)
print(c)
print(d)
#扩展的字符串解包赋值
a, *b= 'room'
print(a)
print(b)
print( ' ----------输入输出语句,也是典型的顺序结构---------')
name=input('请输入您的姓名:')
age=eval(input('请输入您的年龄:'))
lucky_number=eval(input('请输入您的幸运数字:'))
print( '姓名: ' ,name)
print('年龄: ' ,age)
print('幸运数字: ',lucky_number)
3.3 简单的if语句
【代码01】3.3 简单的if语句
if只会执行Ture的语句。
# coding: utf-8
number=eval(input('请输入您的6位中奖号码:')) #使用if语包
if number==987654:
print('恭喜您,中奖了')
if number!=987654:
print( '您未中本期大奖')
print( '-----------以上if判断的表达式,使用比较运算符,比较表达式,--------------')
n=98 #赋值
if n%2: #98%2..的余数为0,0的布尔值为False ....非0的布尔值为True
print(n,'为奇数')
if not n%2: #98%2的余数方00的布尔值为False,not False结果为True
print(n, '为偶数')
print( ' -------判断一个字符串是否是空字符串------')
x=input('请输入一个字符串: ') #空字符串的布尔值为False,非空字符串的布尔值为True
if x:
print( 'x是一个非空字符串')
if not x:
print( 'x是一个空字符串')
print( ' --------表达式也可以是一个单纯的变量--------')
flag=eval(input('请输入一个布尔类型的值:True 或False ' ))
if flag: #flag是一个布尔值类型的变量...值为Irue或False
print( 'flag的值为True ')
if not flag:
print( 'flag的值为False')
print( ' ------使用if语句时,如果语句块只有一句代码,可以将语句块直接写在冒号的后面-------')
a=10
b=5
if a>b:max=a
print( 'a和b的最大值为: ' ,max)
3.4 if语句的常见问题
3.5 if-else语句
【代码01】3.5if-else语句
注意这里的if else的变形。多种方式可以得到相同的结果。
# coding : utf-8
number=eval(input('请输入您的6位中奖号码:'))
#if...else
if number==987654:
print('恭喜您中奖了')
else:
print('您未中本期大奖')
print( '----以上代码还可以使用条件表达式简化---')
#numben==987654为True是,将“恭喜发您中奖了"赋值给变量result,否则将'您未中本期大奖'赋值给变量nesult
result='恭喜发您中奖了' if number==987654 else '您未中本期大奖'
print(result)
number=eval(input('请输入您的6位中奖号码:'))
print('恭喜发您中奖了' if number==987654 else '您未中本期大奖')
3.6 多重if语句
【代码01】3.6 多重if语句
# coding : utf-8
score=eval(input('请输入您的成绩: '))#判断
if score<0 or score>=100:
print('成绩有误')
elif 0<=score<60:
print('E')
elif 60<=score<70:
print( 'D ')
elif 70<=score<80:
print('C')
elif 80 <= score < 90:
print('B')
else:
print('A')
3.7 嵌套if
【代码01】3.7嵌套if
#t coding: utf-8
answer = input('请问,您喝酒了吗? y/n ')
if answer == 'y': #.代表喝酒了
proof = eval(input('请输入洒精含量:'))
if proof<20:
print('构不成酒驾,祝您一路平安')
elif proof<80:
print('己构成酒驾标准,请不要开车')
else:
print('已达到醉驾标准,请千万不要开车')
else:#代表没有喝酒的情况
print('你走吧,没你啥事儿')
3.8 使用逻辑运算符and_or连接多个选…
【代码01】3.8使用逻辑运算符and_or连接多个选…
# coding: utf-8
user_name=input('请输入您的用户名:')
pwd=input('请输入您的密码: ')
if user_name=='ysj' and pwd=='888888':
print('登录成功')
else:
print('用户名或密码不正确')
# coding : utf-8
score=eval(input('请输入您的成绩:'))
if score<0 or score>100:
print('成绩无效')
else:
print( '您的成绩为: ' ,score)
3.9 遍历循环for
【代码01】3.9遍历循环for
#coding: utf-8#遍历字符串
for i in 'hello' :
print(i)
#range()函数,产生一个[n , m)的整数序列,包含n,不包含m
for i in range(1,11):
#print(i)
if i%2==0:
print(i,'是偶数')
#计算1-10之间的累加和
s=0#用于存储累加和
for i in range(1,11):
s += i # 相当于s=s+i
print('1-10之间的累加和为: ', s)
print( ' ------100-999之间的水仙花数------')
"""153
3*3*3+5*5*5+1*1*1=153
"""
for i in range(100,1000):
sd=i%10#获取个位上的数引
tens=i//10%10 #士位上的数字
hundred=i//100#百位上的数字
if sd**3+tens**3+hundred**3==i:
print(i)
3.10 遍历循环的扩展形式
【代码01】3.10遍历循环的扩展形式
#计算1-10之间的累加和
s=0#用于存储累加和
for i in range(1,11):
s += i # 相当于s=s+i
else:
print('1-10之间的累加和为: ', s)
3.11 无限循环while
【代码01】3.11无限循环while
#coding : utf-8#1.初始化变量
answer=input('今天要上课吗?y/n')
while answer=='y':# 2.条件判断
print('好好学习,天天向上')#3.语句块
#4.改变变最
answer = input('今天要上课吗?y/n')
#1-100之间的累加和
s=0#存储累加和
i=1#(1)初始化变量
while i<=100:#(2)条件判断
s+=i#相当于s=s+i#(3)语句块
#(4)改变变量
i+=1
print( '1-100之间的累加和:',s)
【代码02】3.11无限循环while
#1-100之间的累加和
s=0#存储累加和
i=1#(1)初始化变量
while i<=100:#(2)条件判断
s+=i#相当于s=s+i#(3)语句块
#(4)改变变量
i+=1
else:
print( '1-100之间的累加和:',s)
3.12 使用无限循环模拟实现登录
【代码01】3.12使用无限循环模拟实现登录
i=0#统计循环执行的次数
while i<3:# 0,1,2 ,fi=3时3<3False,循环执行结束
user_name=input('请输入您的用户名: ')
pwd=input( '请输入您的密码: ')
#判断
if user_name=='ysj' and pwd=='888888':
print('系统正在登录,请稍后') # 改变循环条件,退出循环
i = 8 # 判晰8<3 False,循环执行结束
else:
if i < 2:
print('用户名或密码不正确,您还有',2 - i, '次机会')
i += 1 # 改变循环变量
if i==3: #当用户或密码输入不正确的时候,循环执行结束时,i的最大值为3
print( '对不起,三次均输入错')
3.13 嵌套循环-长方形-直角三角形
【代码01】3.13嵌套循环-长方形-直角三角形
#coding : utf-8]
# 三行四列
for i in range(1,4):
for j in range(1,5):
print('*' , end='')
#换行
print()
print( ' ---------------------')
for i in range(1,6):
for j in range(1,i+1):#*的个数与行数相同range(1,2),range(1,3),range(1,4)
print( '* ' , end='')
print()#换行
查看遍历次数:
3.14 嵌套循环-倒直角三角形-等腰三角形
【代码01】3.14嵌套循环-倒直角三角形-等腰三角形
#coding: utf-8
#倒直三角形
#1-->5(次)(1,6)2-->4次(1,5)3-->3次(1,4)4-->2次(1,3)5-->1次—(1,2)
for i in range(1,6):
for j in range(1,7-i):
print('*', end='')
print() # 换行
# 等腰三角形
'''
&&&*
&&***
&*****
'''
print( ' --------------------')
for i in range(1,6):
#倒三角形
for j in range(1,6 - i):
print('&', end='') #将&改成空格就行了
# 1,3,5,7的三角形range(1,2) ,range(1,4) range(1,6) ,range(1,8) range(1,10)
for k in range(1,i*2):#(1,1)(2,3)(3,5),(4,7)(5,9)
print( '*' , end='')
print()
3.15 嵌套循环-菱形与空心菱形mp4
4行+3行
【代码01】3.15嵌套循环-菱形与空心菱形mp4
# coding: utf-8
row=eval(input('请输入菱形的行数:'))
top_row=(row+1)//2#上增部分的行数#上半部分
for i in range(1,top_row+1):
#倒三角形
for j in range(1, top_row+1-i):
print(' ', end='' )
# 1,3,5,7的三角形range(1,2) , range(1,4)range(1,6) , range(1,8),range(1,10)
for k in range(1,i*2):#(1,1).(2,3)..(3,5),(4,7) ..(5,9)
print('*', end='')
print()
#下半部分
bottom_row=row //2
for i in range(1,bottom_row+1):
# 直角三角形
for j in range(1, i + 1):
# 2*bottom_row, 2*( bottom_row-1),2*( bottom_row-2), 2*( bottom_row-3)
# 2*4, 2 * 3, 2 * 2, 2 * 1
print(' ', end='') # 倒三角形 range(1,8), range(1,6) range(1,4) range(1,2)
for k in range(1,2*bottom_row-2*i+2): #(1,7)(2,5)(3,3) (4,1)
print('*',end='')
print()
【代码02】3.15嵌套循环-菱形与空心菱形mp4
#### 一定要注意空格!!!!!!!!
# coding: utf-8
row=eval(input('请输入菱形的行数:'))
top_row=(row+1)//2#上增部分的行数#上半部分
for i in range(1,top_row+1):
#倒三角形
for j in range(1, top_row+1-i):
print(' ', end='' )
# 1,3,5,7的三角形range(1,2) , range(1,4)range(1,6) , range(1,8),range(1,10)
for k in range(1,i*2):#(1,1).(2,3)..(3,5),(4,7) ..(5,9)
if k == 1 or k == i * 2 - 1:
print('*', end='')
else:
print(' ', end='')
print()
#下半部分
bottom_row=row//2
for i in range(1,bottom_row+1):
# 直角三角形
for j in range(1, i + 1):
# 2*bottom_row, 2*( bottom_row-1),2*( bottom_row-2), 2*( bottom_row-3)
# 2*4, 2 * 3, 2 * 2, 2 * 1
print(' ', end='') # 倒三角形 range(1,8), range(1,6) range(1,4) range(1,2)
for k in range(1,2*bottom_row-2*i+2): #(1,7)(2,5)(3,3) (4,1)
if k == 1 or k == 2*bottom_row-2*i+1:
print('*', end='')
else:
print(' ', end='')
print()
【代码03】加入控制输入为奇数【while】
# coding: utf-8
row=eval(input('请输入菱形的行数:'))
while row%2==0:
print('重新输入菱形的行数:')
row = eval(input('请输入菱形的行数:'))
top_row=(row+1)//2#上增部分的行数#上半部分
for i in range(1,top_row+1):
#倒三角形
for j in range(1, top_row+1-i):
print(' ', end='' )
# 1,3,5,7的三角形range(1,2) , range(1,4)range(1,6) , range(1,8),range(1,10)
for k in range(1,i*2):#(1,1).(2,3)..(3,5),(4,7) ..(5,9)
if k == 1 or k == i * 2 - 1:
print('*', end='')
else:
print(' ', end='')
print()
#下半部分
bottom_row=row//2
for i in range(1,bottom_row+1):
# 直角三角形
for j in range(1, i + 1):
# 2*bottom_row, 2*( bottom_row-1),2*( bottom_row-2), 2*( bottom_row-3)
# 2*4, 2 * 3, 2 * 2, 2 * 1
print(' ', end='') # 倒三角形 range(1,8), range(1,6) range(1,4) range(1,2)
for k in range(1,2*bottom_row-2*i+2): #(1,7)(2,5)(3,3) (4,1)
if k == 1 or k == 2*bottom_row-2*i+1:
print('*', end='')
else:
print(' ', end='')
print()
3.16 跳转语句break
【代码01】3.16跳转语句break
# coding : utf-8)#1+2+3+6+5+6
s=0#存储累加和
i=1
while i<11:
s+=i #计算累加
if s>20:
print('累加和大于20的当前数',i)
break
i+=1
print( ' -------------')
i=0
while i<3:
user_name=input('请输入用户名:')
pwd=input('请输入密码:')
if user_name=='ysj' and pwd=='888888':
print('系统正在登录,请稍后...')
break #直接退出循环
else:
if i < 2:
print('用户名或密码不正角,您好还有',2 - i, '次机会')
i += 1 # 改变循环变量
else:
print('三次均输入错误')
3.17 跳转语句break
【代码01】3.17跳转语句break遍历
# coding : utf-8
for i in 'hello':
if i=='e':
break
print(i)
print( ' -----------------------')
for i in range(3):
user_name = input( '请输入用户名: ')
pwd = input('请输入密码:')
if user_name == 'ysj' and pwd == '888888':
print('系统正在登录,请稍后...')
break #直接退出循环
else:
if i < 2:
print('用户名或密码不正角,您好还有',2 - i,'次机会')
else:
print('三次均输入错误')
3.18 跳转语句continue
【代码01】3.18 跳转语句continue
## 计算1-100之间的偶数和
# coding: utf-8
s=0
i=1
while i<=100:
if i%2==1:
i+=1
continue#累加求和的代码
s+=i
i+=1
print( ' 1-100之间的偶数和:',s)
print('--------------------------')
# coding: utf-8
s=0
i=1
for i in range(1,101):
if i%2==1:
i+=1
continue#累加求和的代码
s+=i
i+=1
print( ' 1-100之间的偶数和:',s)
3.19 空语句pass
【代码01】3.19空语句pass
#coding : utf-8
if True:
pass
while True:
pass
for i in range(10):
pass
3.20 课堂练习
3.22 实战—-判断闰年
【代码01】 3.22 实战—-判断闰年
# coding:utf-8
year=eval(input('请输入一个四位的年份:'))
if (year%4==0 and year%100!=0) or (year%400==0):
print(year,'年是闰年')
else:
print(year,'年是平年')
3.23 实战二-模拟10086查询功能
【代码01】3.23实战二-模拟10086查询功能
# coding:utf-8
#(1)初处化变量
answer='y'
#(2)条件判断
while answer=='y': ##也可以不要answer='y',直接while answer=='y':
print( ' -----------------欢迎使用10086查询功能------')
print( '1.查询当前余额')
print( '2.查询当前的剩余流量')
print('3.查询当前剩余的通话时长')
print( '0.退出系统')
choice=input("请输入您要执行的操作:")
if choice == '1':
print('当前余额为:234.5元')
elif choice == '2 ':
print('当前的剩余流量为4GB')
elif choice == '3 ':
print('当前的剩余通话时长为300分钟')
elif choice == '0':
print('程序退出,谢谢您的使用')
break
else:
print('对不起,您输入的有误,请重新输入')
# (4)改变变量
answer = input('还继续操作吗?y/n')
else:
print('程序退出谢谢您的使用')
3.24 实战三-九九乘法表
【代码01】3.24实战三-九九乘法表
#coding: utf-8
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+'*'+str(i)+'='+str(i*j) ,end='t ')
print()
3.25 实战四-猜数游戏
【代码01】3.25实战四-猜数游戏
#实战四,猜数游戏
import random
rand=random.randint(1,100)
count=1.#记录猜的次数
while count<=10:
number=eval(input( '在我心中有个数,1-100之间,请你猜一猜:'))
if number==rand :
print('猜对了')
break
elif number>rand:
print('大了')
else:
print( '小了')
count += 1
#判断次数
if count<=3:
print('真聪明,一共猜了' ,count,'次')
elif count<=6:
print( '还可以,一共猜了',count,'次')
else:
print('猜的次数有点多啊,一共猜了',count,'次')
3.26 绘制程序流程图
3.27人机对战小游戏-使用程序流程图…
3.28 人机对战小游戏-用户出拳-电脑角…
3.29 人机对战小游戏-多局对战
【代码01】3.28-3.30人机对战小游戏
#coding: utf-8
import random
player_score=0
computer_score=0
print("""
*******欢迎来到4399游戏平台*******
石头 剪刀 布
*******************************
""")
player_name=input('请输入玩家姓名:')
print( '1.貂蝉2.曹操3.诸葛亮')
choice=eval(input('请选择电脑角色:'))
if choice==1:
computer_name='貂蝉'
elif choice==2:
computer_name = '曹操'
elif choice==3:
computer_name = '诸葛亮'
else:
computer_name='匿名'
print(player_name , 'vs' ,computer_name)
while True:
#玩家出拳
player_fist=eval(input( '----------请出拳:1.石头2.剪刀3.布--------n'))
if player_fist==1:
player_fist_name='石头'
elif player_fist==2:
player_fist_name = '剪刀'
elif player_fist==3:
player_fist_name ='布'
else:
player_fist_name ='石头'
player_fist == 1
computer_fist=random.randint(1,3)
if computer_fist==1:
computer_fist_name='石头'
elif computer_fist==2:
computer_fist_name ='剪刀'
else:
computer_fist_name ='布'
print(player_name, '出拳: ', player_fist_name)
print(computer_name, '出拳: ', computer_fist_name)
if player_fist==computer_fist:
print('平局')
elif (player_fist==1 and computer_fist==2) or (player_fist==2 and computer_fist==3)or(player_fist==3 and computer_fist==1):
print('玩家:', player_name, '胜')
player_score += 1
else:
print('电脑: ', computer_name, '胜')
computer_score += 1
answer = input('再来一局不?y/n')
if answer!='y':
break
print('------------------------------------')
print(player_name,player_score)
print(computer_name , computer_score)
print('------------------------------------')
if player_score==computer_score:
print('平局')
elif player_score>computer_score:
print(player_name,'胜利')
else:
print(computer_name, '胜利')
最后
以上就是自然板栗为你收集整理的Python笔记【03】知识点满满版的全部内容,希望文章能够帮你解决Python笔记【03】知识点满满版所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复