流程控制之if判断,while,for循环

if判断

模拟人对某些事物的判断并作出不同的决策的能力

计算机由于要像人一样的去工作,那么它必须也要具备判断事物对错的能力,从而作出不同的响应

实际中的例子,面前走过一个妹纸,你会想好不好看,要不要超过去看看正脸等等

程序中比如ATM取款机,需要接收你输入的用户名和密码来判断你是否是合法用户等等

if 条件:    代码1    代码2    代码3    ...# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)

比如你眼前走过了一个生物,你的大脑会迅速的采集这些信息然后判断是不是女人,年龄在18到24之间,长是否好看等,映射到计算机上就是比对一堆变量

# if
cls = ‘human‘
gender = ‘female‘
age = 24
?
if cls == ‘human‘ and gender == ‘female‘ and age > 28 and age < 28:
    print(‘开始表白‘)
?
print(‘end...‘)

if…else

if 条件:    代码1    代码2    代码3    ...else:    代码1    代码2    代码3    ...

if...else表示if成立代码成立会干什么,else不成立会干什么。

# if...else
cls = ‘human‘
gender = ‘female‘
age = 38
?
if cls == ‘human‘ and gender == ‘female‘ and age > 16 and age < 22:
    print(‘开始表白‘)
else:
    print(‘阿姨好‘)

if…elif…else

if 条件1:    代码1    代码2    代码3    ...elif 条件2:    代码1    代码2    代码3    ...elif 条件3:    代码1    代码2    代码3    ......else:    代码1    代码2    代码3    ...

if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。

# if...elif...else
cls = ‘human‘
gender = ‘female‘
age = 28
?
if cls == ‘human‘ and gender == ‘female‘ and age > 16 and age < 22:
    print(‘开始表白‘)
elif cls == ‘human‘ and gender == ‘female‘ and age > 22 and age < 30:
    print(‘考虑下‘)
else:
    print(‘阿姨好‘)

小练习:

如果 成绩>=90,打印"优秀"

如果 成绩>=80 并且 成绩<90,打印"良好"

如果 成绩>=70 并且 成绩<80,打印"普通"

其他情况:打印"差"

# 成绩评判
score = input("your score: ")
score = int(score)  # 注意类型转换
?
?
if score >= 90:
    print(‘优秀‘)
# elif score >= 80 and score < 90:
elif score >= 80:
    print(‘良好‘)
# elif score >= 70 and score < 80:
elif score >= 70:
    print(‘普通‘)
else:
    print(‘差‘)
# 模拟登录注册
user_from_db = ‘jason‘
pwd_from_db = ‘123‘
?
user_from_inp = input(‘username: ‘)
user_from_inp = input(‘password: ‘)
?
if user_from_inp == user_from_db and pwd_from_inp == pwd_from_db:
    print(‘login successful‘)
else:
    print(‘username or password error‘)
如果:今天是Monday,那么:上班
如果:今天是Tuesday,那么:上班
如果:今天是Wednesday,那么:上班
如果:今天是Thursday,那么:上班
如果:今天是Friday,那么:上班
如果:今天是Saturday,那么:出去浪
如果:今天是Sunday,那么:出去浪
?
today=input(‘>>: ‘)
if today == ‘Monday‘:
    print(‘上班‘)
elif today == ‘Tuesday‘:
    print(‘上班‘)
elif today == ‘Wednesday‘:
    print(‘上班‘)
elif today == ‘Thursday‘:
    print(‘上班‘)
elif today == ‘Friday‘:
    print(‘上班‘)
elif today == ‘Saturday‘:
    print(‘出去浪‘)
elif today == ‘Sunday‘:
    print(‘出去浪‘)
else:
    print(‘‘‘必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday    Sunday
    ‘‘‘)
today=input(‘>>: ‘)
if today == ‘Monday‘ or today == ‘Tuesday‘ or today == ‘Wednesday‘ or today == ‘Thursday‘ or today == ‘Friday‘:
    print(‘上班‘)
elif today == ‘Saturday‘ or today == ‘Sunday‘:
    print(‘出去浪‘)
else:
    print(‘‘‘必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ‘‘‘)

if嵌套

# if的嵌套
cls = ‘human‘
gender = ‘female‘
age = 18
is_success = False
?
if cls == ‘human‘ and gender == ‘female‘ and age > 16 and age < 22:
    print(‘开始表白‘)
    if is_success:
        print(‘那我们一起走吧...‘)
    else:
        print(‘我逗你玩呢‘)
else:
    print(‘阿姨好‘)
while循环

实际生活中类似于重复的做一些事情,流水线上的工人反复劳动,直到下班时间到来

程序中需不需要做重复的事情呢?以刚刚的验证用户名和密码的例子为例,用户无论输入对错,程序都会立马结束,真正不应该是这个样子。。。

while 条件    code 1    code 2    code 3    ...?while True:    print(‘>>>1‘)    print(‘>>>2‘)    print(‘>>>3‘)# 避免死循环

基于while完善校验功能

# 实现ATM的输入密码重新输入的功能
user_db = ‘nick‘
pwd_db = ‘123‘
while True:
    inp_user = input(‘username: ‘)
    inp_pwd = input(‘password: ‘)
    if inp_user == user_db and pwd_db == inp_pwd:
        print(‘login successful‘)
    else:
        print(‘username or password error‘)

小问题:用户输错了确实能够获取重新输,但用户输对了发现还需要输,这我就忍不了

while+break

break的意思是终止掉当前层的循环,执行其他代码。

# break语法演示while True:    print(‘1‘)    print(‘2‘)    break    print(‘3‘)# 上面仅仅是演示break用法,实际不可能像我们这样去写,循环结束应该取决于条件
user_db = ‘jason‘
pwd_db = ‘123‘
while True:
    inp_user = input(‘username: ‘)
    inp_pwd = input(‘password: ‘)
    if inp_user == user_db and pwd_db == inp_pwd:
        print(‘login successful‘)
        break
    else:
        print(‘username or password error‘)
print(‘退出了while循环‘)

while+continue

continue的意思是终止本次循环,直接进入下一次循环

先给我完成一个需求说循环打印出1,2,3,4,5,6,7,8,9

n = 1
while n < 4:
    print(n)
    n += 1  # 这一行不加又会是死循环

然后需求变一下循环打印1,2,3,4,5,7,8,9,数字6不打印

n = 1
while n < 10:
    if n == 6:
        n += 1  # 如果注释这一行,则会进入死循环
        continue
    print(n)
    n += 1

ps:continue不能加在最后一步执行的代码,因为代码加上去毫无意义

while True:    if 条件1:        code1        code2        code3        ...    continue  # 无意义  elif 条件1:        code1        code2        code3        ...    continue  # 无意义    else:        code1        code2        code3        ...    continue  # 无意义

while循环嵌套

ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。

# 退出内层循环的while循环嵌套
user_db = ‘jason‘
pwd_db = ‘123‘
while True:
    inp_user = input(‘username: ‘)
    inp_pwd = input(‘password: ‘)
    if inp_user == user_db and pwd_db == inp_pwd:
        print(‘login successful‘)
        while True:
            cmd = input(‘请输入你需要的命令:‘)
            if cmd == ‘q‘:
                break
            print(‘%s功能执行‘%cmd)
    else:
        print(‘username or password error‘)
print(‘退出了while循环‘)
# 退出双层循环的while循环嵌套
user_db = ‘jason‘
pwd_db = ‘123‘
flag = True
while flag:
    inp_user = input(‘username: ‘)
    inp_pwd = input(‘password: ‘)
    if inp_user == user_db and pwd_db == inp_pwd:
        print(‘login successful‘)
        while flag:
            cmd = input(‘请输入你需要的命令:‘)
            if cmd == ‘q‘:
                flag = False
                break
            print(‘%s功能执行‘%cmd)
    else:
        print(‘username or password error‘)
print(‘退出了while循环‘)

while+else(了解)

while+else:else会在while没有被break时才会执行else中的代码。

# while+else
n = 1
while n < 3:
    if n == 2:break  # 不会走else
    print(n)
    n += 1
else:
    print(‘else会在while没有被break时才会执行else中的代码‘)

限制用户登陆错误尝试次数

for循环

现在我想循环去除一个列表里面每一个元素,用while循环如何书写?

name_list = [‘jason‘, ‘nick‘, ‘tank‘, ‘sean‘]
?
n = 0
while n < len(name_list):  # while n < 4:
    print(name_list[n])
    n += 1

我现在想获取字典里面的多个值,你用while循环还能实现吗?

这个时候就需要使用另外一种循环机制for循环:不依赖于索引取值

for name in name_list:
  print(name)  # 对比与while更加简便
?
# 再来看for循环字典会得到什么
info = {‘name‘: ‘jason‘, ‘age‘: 19}
for item in info:
    print(item)  # 拿到字典所有的key
    print(info[item])

# for可以不依赖于索引取指,是一种通用的循环取指方式
# for的循环次数是由被循环对象包含值的个数决定的,而while的循环次数是由条件决定的

for循环也可以按照索引取值

for i in range(1, 10):  # range顾头不顾尾
    print(i)
?
# python2与python3中range的区别(cmd窗口演示即可)
?
# for循环按照索引取值
name_list =  [‘jason‘, ‘nick‘, ‘tank‘, ‘sean‘]
# for i in range(0,5):  # 5是数的
for i in range(len(name_list)):
    print(i, name_list[i])

for+break

跳出本层循环

# for+break
name_list = [‘nick‘, ‘jason‘, ‘tank‘, ‘sean‘]
for name in name_list:
    if name == ‘jason‘:
        break
    print(name)

for+continue

跳出本次循环,进入下一次循环

# for+continue
name_list = [‘nick‘, ‘jason‘, ‘tank‘, ‘sean‘]
for name in name_list:
    if name == ‘jason‘:
        continue
    print(name)

for循环练习题

# 打印99乘法口诀表
‘‘‘
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
...
9*1=9.................9*9=81
‘‘‘
for i in range(1,10): #i=3
     for j in range(1,i+1):
         print(‘%s*%s=%s ‘ %(i,j,i*j),end=‘‘) #i=2 j=2
     print()

原文地址:https://www.cnblogs.com/linxidong/p/11120614.html

时间: 2024-10-09 23:14:52

流程控制之if判断,while,for循环的相关文章

流程控制之if判断+while循环+for循环

一.流程控制之if判断 编程的目的是让计算机代替人工,人脑除了能进行算术运算还能进行逻辑运算,所谓逻辑运算即人能根据外界的环境做出不同的反应,在计算机模仿人的逻辑思维判断的语句有,if语句. 1.语法1 # if 条件:  如果条件成立,执行下面的同一缩进级别的代码块(从上往下执行),下面的几条代码就是同一缩进级别的 # 代码1 # 代码2 # 代码3 # ... 2.语法2 # if 条件:  如果条件成立,执行代码A,否则执行else后面的代码B # 代码A # ... # else: #

python入门之类型、条件、运算符、流程控制之if判断

1:可变.不可变类型 可变类型:值改变,id不变,原值可以被修改 可变类型包括:list,dict l = [111,222,333] print(id(l)) l[0] = 444 print(l) print(id(l)) # l中的第一个内容被修改,但两个结果id是相同的 dic = {'k1':111,'k2':222} print(id(dic)) dic['k1'] = 3333333333 print(dic) print(id(dic)) # dic中的'k1'被修改,但是两个结

4 流程控制》4.5 比较for循环和while循环

4.5.2 计算用户输入的数字的总和 下面的程序让用户输入一些数字,然后打印出这些数字的总和. ① 这是使用for循环的版本: # forsum.pyn = int(input('How many numbers to sum?'))total = 0for i in range(n):        s = input('Enter number ' + str(i + 1) + ':')        total = total + int(s)print('The sum is ' + s

流程控制之if判断

1.什么是if判断        判断一个条件如果成立则做...不成立则做... 2.为何要有if判断        让计算机能够像人一样具有判断的能力 3.如何用if判断 ''' #语法1: ''' if 条件1:     code1     code2     code3     ....... ''' age=18 if age != 18:     print('你好啊小伙子')    print('加个微信吧...') print('other code...') # 语法2: if

廖雪峰Java1-3流程控制-3条件判断

1.if条件判断的格式 if (条件) { 代码块 } if (条件) { 代码块1 } else { 代码块2 } if (条件1) { 代码块1 } else if { 代码块2 } else { 代码块3 } 2.整型判断 条件判断注意的事项: 注意判断顺序 注意边界条件 int n = 100; if (n >= 90){ System.out.println("优秀"); }else if(n >= 60){ System.out.println("及格

python流程控制-条件语句If,while循环

一.If,条件语句-选择 格式:python简洁优美,注意缩进 1.第一种: if 条件: 四个空格(tab键)  满足条件时的执行步骤 if 5>4 : print(666) print(777) 2.第二种: if 条件: 四个空格(tab键)  满足条件时的执行步骤 else: 四个空格(tab键)  不满足条件时的执行步骤 3.第三种(多选): if 条件1: 四个空格(tab键)  满足条件1时的执行步骤 elif 条件2: 四个空格(tab键)  满足条件2时的执行步骤 ......

Python流程控制-2 条件判断

条件判断 条件判断是通过一条或多条判断语句的执行结果(True或者False)来决定执行的代码块. 在Python语法中,使用if.elif和else三个关键字来进行条件判断. if语句的一般形式如下所示 if condition1: # condition1为True 执行statement_block_1 statement_block_1 elif condition2: # condition2为True 执行statement_block_2 statement_block_2 els

一 流程控制之if判断

既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于逻辑运算,即人根据外部条件的变化而做出不同的反映,比如: 1 如果:女人的年龄>30岁,那么 age_of_girl=31 if age_of_girl > 30: print('阿姨好') 2 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐 age_of_girl=18 if age_of_girl > 30: print('阿姨好')

流程控制

什么是流程控制? js中的语句一般是按照写的顺序来运行的(从上到下,从左至右).这种运行称为顺序运行,是程序流的默认方向. 与顺序运行不同,另一种运行将程序流转换到脚本的另外的部分.也就是不按顺序运行下一条语句,而是运行另外的语句.这种运行方式就叫做流程控制.简单来讲流程控制就是根据不同的情况做不同的事情.常见的流程控制有if语句.for循环.while循环. if语句 js支持if和if...else条件语句.在if语句中将测试一个条件,如果该条件满足测试,执行相关的js代码.在 if...e