python学习--流程控制和循环控制(while for if)

Posted 差不多努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习--流程控制和循环控制(while for if)相关的知识,希望对你有一定的参考价值。

一、流程控制语句(if)

 1.   if 判断

‘‘‘
流程控制语句

@date:2018-07-31

if... 
if...else...
if...elif...elif.. else....   
‘‘‘
# if..
‘‘‘
if 表达式(非空(空对象、空字符串),非零 为 True):
    代码块

‘‘‘
if 1:
    print(info............)
    pass
#从控制台输入的你的名字 如果名字长度小于等于4个 大于等于2个  输出名字

name=input("请输入你的中文名:")
if len(name)<=4 and len(name)>=2:
    print(name)
print(程序结束)

‘‘‘
if...else...

if 表达式(非空(空对象、空字符串),非零 为 True):
    程序块
else:
    程序块

    if。。。eles 中的代码块只能执行一块。。。
‘‘‘
#如果你的年龄大于等于18 代表成年人 否则:未成年
age=int(input("请输入你的年龄:
"))
if age>=18:
    print("你已成年。。。。。。")
else:
    print("未成年")

print("程序结束")

‘‘‘if...elif...elif...else

if 表达式(非空(空对象、空字符串),非零 为 True):
    程序块
elif 表达式 表达式(非空(空对象、空字符串),非零 为 True):
    代码块
--此处elif可以有多个
else:
    程序块
‘‘‘

运行:【根据输入判断,进行不同输出】

============== RESTART: E:python练习day5案例demo0731demo04.py ==============
info............
请输入你的中文名:李欣
李欣
程序结束
请输入你的年龄:
22
你已成年。。。。。。
程序结束

2.实例:

1.

‘‘‘
输入性别 输出性别

‘‘‘
info_input = input(输入性别:
 )
if info_input == :
    print(你是%s%info_input)
print(你是%s%info_input)
‘‘‘
输入手机号, 要求:纯数字,长度11位

‘‘‘
phone_input = input(Phone: )
if phone_input.isdigit() == True and len(phone_input) == 11:
    print(Your cell phone number is:,phone_input)
else:
    print(Error)

‘‘‘
输入年龄,年龄范围:0-12儿童 12-18少年  
18-25 青少年 25-40青年 
40-60中年 60老年
‘‘‘
age_input = input(你的年龄是:
)
if int(age_input) >= 60:
    print(老年人)
elif int(age_input) >= 40:
    print(中年人)
elif int(age_input) >= 25:
    print(青年人)
elif int(age_input) >= 18:
    print(青少年)
elif int(age_input) >= 12:
    print(少年)
else:
    print(儿童)

运行:【根据输入判断,进行不同输出】

E:python_VS_codedirectory[目录]>D://py3.6//python.exe e:/python_VS_code/directory[目录]/demo0731/py_if.py
输入性别:
 男
你是男
你是男
Phone: 122
Error
你的年龄是:
22
青少年

2.

phone=input("请输入你手机号的前三位")
if len(phone)==3 and phone.isdigit():

    if 135 ==phone or  phone==155 or  phone==150 or phone==138 or phone==139 :
        print("你当前的手机号是中国移动的号码")
    elif 132==phone or 130==phone :
        print("你当前的手机号是中国联通的号码")
    elif 189==phone or 153==phone or 177==phone:
        print(中国电信)
    else:
        print(当前手机号前三位无法查询到运营商)
else:
    print("手机号前三位无效")

运行:【根据输入判断,进行不同输出】

请输入你手机号的前三位qwe
手机号前三位无效

-----------------------------------------------------------------------------------------------------------------------------------------------

二、循环控制语句1

1.while 循环

‘‘‘
流程控制语句之循环语句
while 循环
while true:
    循环体
‘‘‘
# while 1:
#     print(‘1111111111‘)
i=0

while i<=9:
    print("循环") 
    i+=1

i=20
#控制循环执行10次
while i<30:
    print(i)
    i+=1

# 1-100的累加和
sum=0
i=1
while i<=100:
    sum+=i
    i+=1
    pass
print(1---100的累加和,sum)


while i==101:
    print(----------)
    i+=1
else: # 循环结束会执行(必须执行)
    print("循环结束")
    pass

# break(结束整个循环) continue(结束本次循环、循环继续执行)

# 输出1-100中的偶数
num=0
while num<=100:#用于生成1-100的数
    #判断是否是偶数
    num+=1
    if num%2!=0:
        # num+=1
        continue #当执行continue continue之后程序不再执行 当前所在循环体
    print(num)


print(1111111111)
#break 使用   跳出当前循环 当前循环结束

#定义列表集 存储用户账号信息
usersList=[wm001,houshan001,xiewanni,chengshaoyan,lifengyuan]
#从控制台接收账号信息,判断是否存在于列表集中存在输出 已存在 (拒绝使用in)
index=0
account=input("请输入你的账号信息")
while index<len(usersList):
    print(usersList[index])
    if usersList[index]==account:
        print("账号已存在")  
        break #结束循环体,循环结束
    index+=1

运行:【没有条件限制,会变成死循环】

============== RESTART: E:python练习day5案例demo0731demo07.py ==============
循环
循环
循环
循环
循环
循环
循环
循环
循环
循环
20
21
22
23
24
25
26
27
28
29
1---100的累加和 5050
----------
循环结束
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
88
90
92
94
96
98
100
1111111111
请输入你的账号信息lifeng
wm001
houshan001
xiewanni
chengshaoyan
lifengyuan
****************************************************************************************************
请输入你的账号:wm00
请输入你的账号:wm001
请输入你的账号:000

2.实例

1.

‘‘‘
登录三次
‘‘‘

count=0 # 基础登陆次数
usersList=[wm001,houshan001,xiewanni,chengshaoyan,lifengyuan]
while True: #控制账号输入
    if count>2:# 账号输入次数为3次
        break
    index=0#用户账号列表的索引
    account=input("请输入你的账号信息")
    count+=1
    isLogin=False#是否登陆成功
    while index<len(usersList):
        # print(usersList[index])
        if usersList[index]==account:
            # print("账号已存在")             
            isLogin=True
            break #结束循环体,循环结束
        index+=1  
    if isLogin:
        print(登陆成功)
        break # 登陆成功 退出登录输入循环
    else:
        print("账号不存在")

运行:【没有条件限制,会变成死循环】

============== RESTART: E:python练习day5案例demo0731demo08.py ==============
请输入你的账号信息222
账号不存在
请输入你的账号信息lifengyuan
登陆成功

2.

‘‘‘打印1-100中是5倍数,
  使用continue
‘‘‘
num1 = 0
while num1 <= 100:
    num1+=1
    if num1%5 != 0:
        continue   
    print(num1)

‘‘‘
输入用户死循环,中间break控制
只能输入三次帐号 使用break完成
‘‘‘
num2 = 0
while True:
    if num2 > 2:
        break
    user_name = input(请输入账号:)
    num2+=1
    

运行:【没有条件限制,会变成死循环】

E:python_VS_codedirectory[目录]>D://py3.6//python.exe e:/python_VS_code/directory[目录]/demo0731/py_while.py
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
请输入账号:da
请输入账号:dw
请输入账号:dw

 

三、循环控制语句2

  for循环

这里只有一个实例

代码:

dict_city = {陕西:[西安,咸阳,榆林,铜川],
             河南:[郑州,开封,安阳,商丘],
             湖北:[武汉,黄冈,周口,禹州]}

for i in dict_city.keys():
    print(----,i,----)
    for val in dict_city[i]:
        print(|-,val)

运行:

E:python_VS_codedirectory[目录]>D://py3.6//python.exe e:/python_VS_code/directory[目录]/demo0801/py_for.py
---- 陕西 ----
|- 西安
|- 咸阳
|- 榆林
|- 铜川
---- 河南 ----
|- 郑州
|- 开封
|- 安阳
|- 商丘
---- 湖北 ----
|- 武汉
|- 黄冈
|- 周口
|- 禹州

 

以上是关于python学习--流程控制和循环控制(while for if)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习————流程控制之while循环

python学习08——流程控制之for循环

Python学习————流程控制之for循环

Python从入门到进阶10流程控制语句-循环语句(for-while)

Python流程控制-3 循环控制

Python的流程控制 - while