Python学习笔记(二)——控制语句

程序的三大流程:

  • 顺序–从上向下,顺序执行代码
  • 分支–根据条件判断,决定执行代码的分支
  • 循环–让特定代码重复执行

1. 顺序

从上到下依次执行,这个其实没什么难点。

2.分支语句 (条件语句)

最常见的就是if --else
在这里插入图片描述
if - elif -else 语句以及缩进部分是一个完整的代码块

if 要判断的条件:
	条件成立时,要做的事
else:
	条件不成立时,要做的事情
	
#根据成绩来分类
scale = input("请输入一个成绩")
scale = float(scale)
if scale>=0:
	if scale>=90:
   	 	print("成绩为优秀")
	elif scale>=80:
   	 	print("成绩为良好")
	elif scale>=60:
    	print("中等")
	else:
    	print("不及格")

在此给大家补充一下逻辑运算符

与 and
或 or
非 not

牛刀小试

#案例一:
#定义一个整数变量,判断年龄是否正确
#要求人的年龄在0-120之间
age = int(input("请输入年龄"))

if age>0 and age<120:
    print(age)
else:
    print("年龄不正确")

#案例二:
#定义两个整型变量
Python_score=89
c_score = 90
#要求只要有一门成绩>60分就算合格
if Python_score>60 or c_score>60:
    print("合格")
else:
    print("成绩不合格")

#案例三:
is_employee = True
if not is_employee:
    print("不是本公司的员工,不可以进入")

通常希望某个条件不满足时,执行一些代码,可以使用not,
如果需要拼接复杂的逻辑计算条件,同样也有可能使用到not.
2.1 Python中的随机数
#先导入模块再调用
import random  
random.randint(a,b)   # 返回[a,b]之间的数,包含a和b
注意:
	在导入工具包的时候,应该将导入的语句,放在文件的顶部,因为,这样
	可以方便下方的代码,在任何需要的时候,使用工具包中的工具。	

在这里插入图片描述
注意

这些随机函数不能直接调用,例如:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
	import random
	random.random()
	uniform() 方法将随机生成下一个实数,它在 [x,y] 范围内。法
	import random
	random.uniform(x, y)
	x -- 随机数的最小值。
	y -- 随机数的最大值。

牛刀小试

#案例一————火车票、安检

# 定义一个布尔类型的变量has_ticket 表示是否有车票
has_ticket = True
# 定义整型变量knife_length 表示刀的长度,单位:厘米
knife_length = 21
'''首先检查是否有车票,如果有,才允许进入安检
安检时,需要检查刀的长度,判断是否超过20厘米
如果超过20厘米,提示刀的长度,不允许上车
如果没有超过20厘米,则可以通过安检
如果没有车票,不允许进入'''
if has_ticket:
	print("车票检查通过,准备开始安检")
	if knife_length>20:
    	print("刀的长度为%.2f,不能通过安检"%knife_length)
	else:
   	 	print("安检通过,可以上车")
else:
	print("请购买车票")
	

#案例二————石头剪刀布

player = int(input("玩家请出拳:拳头=1,布=2,剪刀=3"))
computer = random.randint(1,3)
print("玩家出的是%d-电脑出的是%d"%(player,computer))
#比较胜负
#1.石头 胜 剪刀
#2.剪刀 胜 布
#3.布 胜 石头
if ((player==1 and computer==3)
        or (player==3 and computer==2)
        or (player==2 and computer==1)):
    print("玩家胜利")
elif player==computer:
    print("平局")
else:
    print("电脑胜利")

3.循环语句

3.1 while循环
while 条件(判断 计数器是否达到 目标次数):
		条件满足时,做的事情1
		条件满足时,做的事情2
		。。。
		处理条件(计数器+1)
例如:
		s=0
		while s<=5:
	    	print(s)
	    	s += 1
					
注意:while语句以及缩进部分是一个完整的代码块
在程序计数中,从0开始计数。所以要养成一个好的习惯。
3.1.1 嵌套循环

案例一:打印小星星
每一行要打印的星星就是和当前的行数是一致的,增加一个小的循环,专门负责当前行中,每一列的星星显示

row = 1
while row<=5:
	print("*" * row)
	row += 1

结果如下所示:
*
* *
* * *
* * * *
* * * * *

改进版——加入嵌套循环

row1 = 1
while row1 <= 5:
	col = 1 #表示列
	while col <= row1:
    	print("*",end="")
    	col +=1
	print()  # 这行代码的目的,就是在一行星星输出完成之后,添加换行。
	row1 += 1

关键字——end

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:
a, b = 0, 1
while b < 1000:
print(b, end=',')
a, b = b, a+b
结果如下:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
3.1.2 字符串中的转义字符

在这里插入图片描述

\t在控制台输出一个制表符,协助在输出文本时,垂直方向保持对齐
\n在控制台输出一个换行符

print("1\t2\t3")
print("10\t20\t30")
print("hello\npython")
1	2	3
10	20	30
hello
python

牛刀小试——打印九九乘法表

i = 1
while i <=9:
	 j = 1
	while j <= i:
    	result = i * j
   	 	print("%d * %d = %d" %(j,i,result),end=" ")
   		j += 1
 	print()
	i += 1
3.1.3 break 和 continue
break:当某一条件满足时,退出循环,不再执行后续重复的代码
continue:某一条件满足时,不执行后续重复的代码。
简单的说,break 语句可以跳出 for 和 while 的循环体
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环

3.2 for循环

for i in ...
有时for 也和 else连用,一会就可以见到。

注意:当for循环中使用了break语句时,表示用于跳出当前循环体

sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
    print("菜鸟教程!")
    break
print("循环数据 " + site)
else:
	print("没有循环数据!")
print("完成循环!")

结果为:
循环数据 Baidu
循环数据 Google
菜鸟教程!
完成循环!
3.2.1 for 循环与 else 的使用
for 变量 in 集合:
	循环体代码
else:
	没有通过break退出循环,循环结束后,会执行的代码。

示例:	

#定义一个列表存储字典,循环内部使用了break,如果执行,则退出循环,else下方的代码不会执行
Students = [
    {"name":"小明"},
    {"name":"小曾"}
]
name = "小曾"
for name_str in Students:
    print(name_str)
    if name_str["name"] == name:
        print("找到了%s" %name)
        break
else:
    print("循环结束,没有找到")
对于列表,字典等数据类型,可以查询 Python学习笔记(三)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曾同学.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值