Python 之路之流程控制语句判断循环(四)

文章
林里克斯

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: 写出一个能同时被 37 整除的条件语句

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 结束本轮循环,重新开启循环

breakcontinuePython 里只能用于循环语句中

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 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

692 0 2021-01-24


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-04-28

今日天气
站点统计
  • 文章总数:240篇
  • 分类总数:29个
  • 评论总数:10条
  • 本站总访问量 216671 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!