我的Python学习笔记【4】

程序的描述方式、程序的组织结构(顺序、选择、循环(水仙花))

一、程序的描述方式

**(1)IPO:**输入、处理、输出
**(2)流程图:**是用一系列图形、流程线和文字说明描述程序的基本操作
在这里插入图片描述
在这里插入图片描述
**伪代码:**介于自然语言和编程语言之间的一种算法描述语言,如果程序比较小,可以直接使用代码描述

// coding:utf-8
r = eval(input('请输入圆的半径:'))
area = 3.14*r*r    //面积
perimeter = 2*3.14*r   //周长
print('圆的 面积是:',area,'周长是:',perimeter)

二、程序的组织结构

在这里插入图片描述
(1)顺序结构:
按程序语句的自然顺序,从上到下,依次执行每条语句的程序。
赋值语句、输入/输出语句、模块导入语句

顺序结构的语句:

//赋值运算符的顺序 从右到左
name = '张三'
age = 200
a = b = c = d = 100    //链式赋值
a = b = c = d = 'room'    //字符串分解赋值
print(a)
print(b)
print(c)
print(d)
//输出结果为【r o o m】

//输入输出也是典型的顺序结构,按顺序执行
name = input('请输入您的姓名:')
age = eval(input('请输入您的年龄:'))
luck_number = eval(input('请输入您的幸运数字:'))
print('姓名:',name)
print('年龄:',age)
print('幸运数字:',lucky_number)

(2)选择结构:
也叫分支结构,是按照条件选择执行不同的代码段

1、单分支结构:
单分支结构if的语法结构
在这里插入图片描述
执行流程:
如果表达式的值为True,就执行语句块,如果表达式的值为False,就跳过语句块,继续执行后面的代码。

number = eval(input('请输入您的6位中奖号码:'))
//使用if语句
if number == 987654//等值判断
	print('恭喜您中奖了!')
if number !=987654:        
	print('您未中奖!')
 
//以上if判断的表达式,是通过比较运算符的计算出来的,结果是布尔值类型的
n = 98  //赋值操作
if n%2:         //98%2的余数是0,0的布尔值是False,非0的 布尔值为True
	print(n,'是奇数')             //由于98%2的余数为0,所以该行代码不执行
if not n%2:         //98%2的余数是0,0的布尔值是False,not False的结果为True
	print(n,'是偶数')  
  
//如何判断一个字符串是非空字符串
x = input('请输入一个字符串:')
if x:           //在Python中一切皆对象,每个对象都有一个布尔值,而非空字串的布尔值为True,空字符串的布尔值就为False
	print('x是一个非空字符串')

//如何判断一个字符串是空字符串
x = input('请输入一个字符串:')
if not x:           //空字符串的布尔值就为False,取反,not False的结果就是True
	print('x是一个空字符串')

//表达式也可以是一个单纯的布尔型变量
flag = eval(input('请输入布尔类型的值(True或False):'))
if flag:
	print('flag的值为True')
if not flag:
	print('flag的值为False')
//使用if语句时,如果语句块中只有一句语句时,可以将语句块直接写在冒号的后面
a = 10
b = 5
if a>b:max=a      //如果a的值比b大,就把a的值赋值给max
//语句块中只有一句,赋最大值

2、双分支结构:
双分支结构if…else…的语法结构
在这里插入图片描述
执行流程:如果表达式的值为True,就执行语句1,否则就执行语句2

number = eval(input('请输入您的6位中奖号码:'))
//使用if...else语句
if number == 987654//等值判断
	print('恭喜您中奖了!')
else:        
	print('您未中奖!')

//以上代码可以使用条件表达式进行简化
result = '恭喜您中奖了!' if numbber==987654 else '您未中本期大奖!'
print(result)

print('恭喜您中奖了!' if numbber==987654 else '您未中本期大奖!')

3、多分支结构:
在这里插入图片描述在这里插入图片描述

// 多分支结构
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')

单分支结构、双分支结构和多分支结构在实际开发中是可以互相嵌套使用的,内部的分支结构将作为外层分支结构的语句块使用。

// 嵌套if的使用
answer = input('请问您喝酒了么?')
if answer=='y':       //answer的值为y表示喝了
	proof = eval(input('请输入您的酒精含量:'))
	if proof<20:
		print('构不成酒驾,祝您一路平安')
	elif proof<80:
		print('已构成酒驾,请不要开车了!')
	else:
		print('已达成醉驾,请千万不要开车!') 
else:
	print('没事儿,可以走了')

在使用and连接多个条件判断时,只有同时满足多个条件,才能执行 if 后面的语句块。

//使用and连接多个使用条件
user_name = input('请输入您的用户名:')
user_pwd = input('请输入您的密码:')
if user_name == 'ysj' and pwd == '88888':
	print('登录成功!')
else:
	print('您的用户名或密码不正确!')

在使用or连接多个条件判断时,只要满足多个条件中的一个,就可以执行 if 后面的语句块。

//使用or连接多个使用条件
score = eval(input('请输入您的分数:'))
if score<0 or score>100:
	print('您输入的成绩有误!')
else:
	print('您的成绩为:',score)

(3)循环结构:
在python中循环结构分为两类,一类是遍历循环结构for,一类是无限循环结构while。
在这里插入图片描述
1、Python3.11新特性—模式匹配

//
score = eval(input('请输入您的成绩等级:'))
match score:
	case 'A':
		print('优秀')
	case 'B':
		print('良好')
	case 'C':
		print('中等')
	case 'D':
		print('及格')
	case 'E':
		print('不及格')

2、遍历循环for的语句结构:
在这里插入图片描述

//遍历字符串
for i in 'hello':
	print(i)

//range()函数,Python中的内置函数,产生一个(n,m)的整数序列,包含n,但是不包含m
for i in range(1,11):
	print(i)
//【1 2 3 4 5 6 7 8 9 10】

//判断奇偶数
for i in range(1,11):
	if i%2 == 0
		print(i,'为偶数')

//计算累加和
sum = 0
for i in range(1,11):
	sum += i  //相当于sum = sum + i
	print(sum)

//判断100到999之间的水仙花数
//譬如水仙花数 153 =  3*3*3 + 5*5*5 + 1*1*1
//个位数上的立方+十位数上的立方+百位数上的立方 = 这个数
for i in range(100,1000):
	ge = i%10    //获取个位上的数字   153%10---->3
	shi = i//10%10   //获取十位上的数字   153//10--->15  15%10--->5
	bai = i//100     //获取百位上的数字   153//100---->1
	if ge**3+shi**3+bai**3 = i:
		print(i)

2、遍历循环的扩展形式
for…else…结构:
在这里插入图片描述

sum = 0  //用于存储累加和
for i in range(1,11):
	s += i
else:
	print('1-10之间的累加和为:',s)

3、无限循环结构
在这里插入图片描述
①无限循环while的语句结构
在这里插入图片描述
while循环的四个步骤
(1)初始化变量
(2)条件判断
(3)语句块
(4)改变变量

//(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    //(3)语句块
	i += 1    //(4)改变变量
print('1-100之间的累加和:',s)

②while…else…结构
在这里插入图片描述
无限循环while的扩展形式

//1-100之间的累加和
s = 0         //存储累加和
i = 1         //(1)初始化变量
while i<=100:  //(2)条件判断
	s += i    //(3)语句块
	i += 1    //(4)改变变量
elseprint('1-100之间的累加和:',s)
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值