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("请输入你的年龄:\n"))
if age>=18:
    print("你已成年。。。。。。")
else:
    print("未成年")

print("程序结束")

'''if...elif...elif...else

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

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

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

2.实例:

1.

'''
输入性别 输出性别

'''
info_input = input('输入性别:\n ')
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('你的年龄是:\n')
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_code\directory[目录]>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\案例\demo0731\demo07.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\案例\demo0731\demo08.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_code\directory[目录]>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_code\directory[目录]>D://py3.6//python.exe e:/python_VS_code/directory[目录]/demo0801/py_for.py
---- 陕西 ----
|- 西安
|- 咸阳
|- 榆林
|- 铜川
---- 河南 ----
|- 郑州
|- 开封
|- 安阳
|- 商丘
---- 湖北 ----
|- 武汉
|- 黄冈
|- 周口
|- 禹州

猜你喜欢

转载自www.cnblogs.com/lifengyuan/p/9399293.html