python学习笔记5

一、选择结构

选择结构有多种形式,分为:单分
支、双分支、多分支。

1.单分支选择结构

在这里插入图片描述
if 语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块

a=input('请输入一个小于10的数字:')
if int(a)<10:
	print(a)

1.1 条件表达式

条件表达式的值为False的情况:
False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字
符串)、空range 对象、空迭代对象。
条件表达式中,不能有赋值操作符“=”

2.双分支选择结构

在这里插入图片描述

双分支结构的语法格式如下:
if 条件表达式:
语句1/语句块1
else:
语句2/语句块2

s=input("请输入数字:")
if int(s)<10:
	print("s小于10")
else:
	print("大于等于10")

2.1 三元条件运算符

三元条件运算符语法格式如
下:
条件为真时的值if (条件表达式) else 条件为假时的值

num = input("请输入一个数字")
print( num if int(num)<10 else "数字太大")

3.多分支选择结构

多分支选择结构的语法格式如下:
if 条件表达式1 :
语句1/语句块1
elif 条件表达式2:
语句2/语句块2
.
.
.
elif 条件表达式n :
语句n/语句块n
[else:
语句n+1/语句块n+1
]

score = int(input("请输入分数"))
grade = ''
if score<60 :
	grade = "不及格"
elif score<80 :
	grade = "及格"
elif score<90 :
	grade = "良好"
elif score<=100:
	grade = "优秀"
print("分数是{0},等级是{1}".format(score,grade))

4.选择结构嵌套

要注意控制好不同级别代码块的缩进

二、循环结构

在这里插入图片描述

1.while 循环

while 循环的语法格式如下:
while 条件表达式:
循环体语句

利用while 循环,计算1-100 之间数字的累加和;

num = 0
sum_all = 0 #1-100 所有数的累加和
while num<=100:
	sum_all += num
	num += 1
print("1-100 所有数的累加和",sum_all)

2.for 循环

for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:
for 变量in 可迭代对象:
循环体语句

2.1 可迭代对象

  1. 序列。包含:字符串、列表、元组、字典
  2. 迭代器对象(iterator)
  3. 生成器函数(generator)
  4. 文件对象

2.2 遍历

for x in "001":  #遍历字符串中的字符
print(x)
d = {'name':'wq','age':18}
for x in d: #遍历字典所有的key
	print(x)
for x in d.keys():#遍历字典所有的key
	print(x)
for x in d.values():#遍历字典所有的value
	print(x)
for x in d.items():#遍历字典所有的"键值对"
	print(x)

2.3 range 对象

sum_all = 0 #1-100 所有数的累加和
for num in range(101):
	sum_all += num
print(sum-all)

三、语句

1.break 语句

break 语句可用于while 和for 循环,用来结束整个循环。当有嵌套循环时,break 语句只
能跳出最近一层的循环。

while True:
	a = input("请输入一个字符(输入Q 或q 结束)")
if a.upper()=='Q':
	print("循环结束,退出")
	break
else:
	print(a)

2.continue语句

continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最
近的一层循环。

empNum = 0
salarys = []
while True:
	s = input("请输入员工的薪资(按Q 或q 结束)")
	if s.upper()=='Q':
		print("录入完成,退出")
		break
	if float(s)<0:
		continue
	empNum +=1
	salarys.append(float(s))

print("员工数{0}".format(empNum))
print("录入薪资:",salarys)

3.else语句

salarySum= 0
salarys = []
for i in range(4):
	s = input("请输入一共4 名员工的薪资(按Q 或q 中途结束)")
	if s.upper()=='Q':
		print("录入完成,退出")
		break
	if float(s)<0:
		continue
	salarys.append(float(s))
	else:
		print("您已经全部录入4 名员工的薪资")
print("录入薪资:",salarys)

四、推导式创建序列

1.列表推导式

语法如下:
[表达式for item in 可迭代对象]

>>> [x*2 for x in range(1,5)]
[2, 4, 6, 8]
>>> [x*2 for x in range(1,20) if x%5==0 ]
[10, 20, 30]

2.字典推导式

格式如下:
{key_expression : value_expression for 表达式in 可迭代对象}

>>> my_text = ' i love you, i love wq'
>>> char_count = {c:my_text.count(c) for c in my_text}
>>> char_count

3.集合推导式

{表达式for item in 可迭代对象}

>>> {x for x in range(1,100) if x%9==0}
{99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}

4.生成器推导式(生成元组)

元组是没有推导式的。

>>> (x for x in range(1,100) if x%9==0)
<generator object <genexpr> at 0x0000000002BD3048>

提示的是“一个生成器对象”,一个生成器只能运行一次。第一次迭代可以得到数据,第二次迭代发现数据已经没有了。

gnt=(x for x in range(4))
for x in gnt:
print(x,end=",")
print(tuple(gnt))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值