Python 之路之流程控制语句判断循环(四)
1.条件判断语句
- 区间判断,(可以使用连续的区间判断:
if 100 > source >= 0
) - 隐式类型转换,(
if 4:
如果if
后面不是布尔类型,会自动转换成为布尔类型) - 三元表达式,(对
if else
语句简写: )
num1 = int(input('Please Input a Num'))
num2 = int(input('Please Input a Num'))
if num1 > num2:
x = num1
else:
x = num2
x = num1 if num1 > num2 else num2 #可以将上面 if else 语句简写成一行
print('最大的数是:', x)
简单的 if
语句
age = input('Please Input Your Age:')
if int(age) < 18: #age 默认获取到的是字符串,这里需要 int 与 int 比较,所以将 字符串 转为 int 类型
print('Not allowed to enter!')
Please Input Your Age:19
#TypeError: '<' not supported between instances of 'str' and 'int' 不然会有此报错
#或者将 input 这里转换结果一致
age = int(input('Please Input Your Age:'))
if age < 18:
print('Not allowed to enter!')
Please Input Your Age:8
Not allowed to enter!
简单的 if else
语句的使用
age = int(input('Please Input Your Age:'))
if age < 18:
print('Not allowed to enter!') #上面条件不满足时执行,判断为 False 执行
else:
print('Please enter the!') #上面条件满足时执行,判断为 True 执行
简单的 if elif else
语句的使用
achievement = int(input('请输入您的成绩:'))
if achievement < 60:
print('未及格')
elif achievement == 60:
print('及格了')
elif 61 < achievement < 70:
print('成绩良好')
elif 70 < achievement < 90:
print('成绩优秀')
elif 91 < achievement < 99:
print('非常优秀')
elif achievement == 100:
print('已经超神')
else:
print('请输入一个正常的数字')
请输入您的成绩:69
成绩良好
请输入您的成绩:100
已经超神
请输入您的成绩:101
请输入一个正常的数字
简单的 if
语句嵌套
ticket = input('请确认您是否购买票:(Y/N 买了/没买)')
if ticket == 'Y':
print('您已购票,可以进入进行安检')
safe = input('您是否通过安检:(Y/N)')
if safe == 'Y':
print('您已买票且通过安检,请进入')
else:
print('请先通过安检')
else:
print('请先购票!')
请确认您是否购买票:(Y/N 买了/没买)Y
您已购票,可以进入进行安检
您是否通过安检:(Y/N)Y
您已买票且通过安检,请进入
eg:
写出一个能同时被 3
和 7
整除的条件语句
num = int(input('请输入一个数字开始:'))
if num % 3 == 0 and num % 7 == 0:
print('能被 3 和 7 整除')
else:
print('不能被 3 和 7 整除')
请输入一个数字开始:21
能被 3 和 7 整除
eg:
判断闰年(满足闰年的条件:能被 4
整除,但是不能被 100
整除或者能被 400
整除的年)
year = int(input('请输入一个年份开始:'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print('yes')
else:
print('No')
请输入一个年份开始:1900
No
请输入一个年份开始:2000
Yes
eg:
将 4352秒
以 "xx时xx分xx秒" 来显示
time = 4352
hour = time // 3600 #1小时等于 3600 秒,这里先取出小时, //整除
min = time % 3600 // 60 #% 取余,取出余数后再整除 60秒 取出分钟
sec = time % 60 #% 取余,余数就是剩下的秒数
print(hour,'时', min, '分', sec, '秒')
1 时 12 分 32 秒
2.pass 关键字
pass
关键字没有特殊意思,只为来占位,保证语句的完整性使代码不报错
if 3 > 2:
pass
3.循环语句
while
循环for
循环
while
循环语句的简单使用
i = 0 #定义一个变量的初始值
while i < 10: #循环条件,小于 10 满足就执行
print('JayChou')
i += 1 #执行一次后就 +1,相当于 i = i + 1。加 1 后再带入循环判断,到 10 后不满足及停止循环
JayChou
JayChou
····
JayChou
JayChou
练习:写一个 1~100
的所有整数之和
a = 0 #定义一个循环初始值
b = 0 #定义一个变量用来保存所有数字之和
while a < 100: #循环至 a 等于 100 后停止
a = a + 1 #每次 +1
b = b + a #所有数字循环递加
print(b)
5050
#取 1~100 所有偶数的和
a = 0 #定义一个循环初始值
b = 0 #定义一个变量用来保存所有数字之和
while a < 100: #循环至 a 等于 100 后停止
a = a + 1 #每次 +1
if a % 2 == 0: #判断能整除于 2 的再相加
b = b + a #所有数字循环递加
print(b)
2550
for...in
循环,in
的后面必须要是一个可迭代的对象 (range,字符串,列表,字典,元组,集合)
for i in range(0,10): #range 内置类用来生成指定区间的证书序列
print('JayChou')
#打印 10 次
JayChou
JayChou
····
JayChou
JayChou
练习:写一个 1~100
的所有整数之和
a = 0
for b in range(1, 101):
a = a + b
print(a)
5050
4.break 和 continue 关键字
break
结束整个循环continue
结束本轮循环,重新开启循环
break
和continue
在Python
里只能用于循环语句中
continue
i = 0
while i < 5:
if i == 3:
i = i + 1
continue #到 3 后,continue 不会执行后面的 print,结束本轮循环,重新开启循环。所以不会打印 3
print(i)
i = i + 1
0
1
2
4
break
i = 0
while i < 5:
if i == 3: #判断比较是否等于 3
i = i + 1
break #到 3 后,break 会直接结束循环,所以不会再打印后续的循环
print(i)
i = i + 1
0
1
2
练习:写一个登录验证
while True:
username = input('Please Input Your Username:')
password = input('Please Input Your Password:')
if username == 'Jarbo' and password == '123456':
print('登录成功!')
break
Please Input Your Username:Jarbo
Please Input Your Password:123
Please Input Your Username:Jarb
Please Input Your Password:123456
Please Input Your Username:Jarbo
Please Input Your Password:123456
登录成功!
# 循环打印 5 次 ^
i = 0
while i < 5:
i += 1
print('^' * i)
^
^^
^^^
^^^^
^^^^^
5.嵌套循环
#外循环用来控制行数,内循环控制列数。打印矩形
a = 0
while a < 5: #控制循环打印 5 此
a += 1
i = 0
while i < 6: #控制循环打印 6 个
i += 1
print('^', end=' ') #打印 6 个 ^ 不换行:'^ ^ ^ ^ ^ ^'
print() #换行,end='/n'
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
#打印三角形
a = 0
while a < 5: #控制循环打印 5 此
a += 1
i = 0
while i < a: #控制循环打印 6 个
i += 1
print('^', end=' ') #打印 6 个 ^ 不换行:'^ ^ ^ ^ ^ ^'
print() #换行,end='/n'
^
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
#打印九九乘法表
a = 0
while a < 9: #控制循环打印 5 此
a += 1
i = 0
while i < a: #控制循环打印 6 个
i += 1
print(i, '*', a, '=', (i * a), end=' ')
print() #换行,end='/n'
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1283 0 2021-01-24
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2025-01-17
今日天气
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:14条
- 本站总访问量 365308 次
@svmuvwpuqi 真棒!
@smdxydrauu 博主太厉害了!
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...