python之 if / for / while

一,if 判断

---------示例1

# 单分支
age=25
salary=88
height=180
if age<28 and salary > 50 and height == 180:
    print('hello,lets dinner together')

# 双分支
age=25
salary=88
height=180
if age<28 and salary > 50 and height == 180:
    print('hello,lets dinner together')
else:
    print('ugly man')





---------示例2
 # 多分支

score=input("填入分数:")
score=int(score)
if score >= 90:
    print("优秀")
    if score > 100:
        print("满分哦")
    else:
        print("距离满分差一乃乃")
elif score >=80:
    print("良好")
else:
    print("差")


二, while 循环

1) 基本用法

i=1
while i < 5:
    print(i)
    i+=1

1
2
3
4

2) 死循环

# 1)不会让cpu使用率飙升
while True:
    input('name:')


# 2)会让cpu使用率飙升
while True:
    1 + 1


3) 跳出/结束循环

1,条件为假
方式一:

#例1:
i=1
tag=True
while tag:
    if i ==4:
        tag=False
    print(i)
    i+=1
print('end')


1
2
3
4
end





# 例2:
i=1
tag=True
while tag:
    print(i)
    i+=1
    if i ==4:
        tag=False
print('end')

1
2
3
end


2,break
# (直接终止本层循环,根本没有下一次)

#例1:

i=1
while True:
    if i == 4:
        break
    print(i)
    i+=1

1
2
3



#例2:
i=1
while True:
    print(i)
    i+=1
    if i == 4:
        break

PS:
结果一样,第二种更好,只需要循环三次
第一种循环4次才结束






PS:
结束while循环的2种方式


tag=True
while tag:
    while tag:
        while tag:
            tag=False
            
while True:
    while True:
        while True:
            break
        break
    break


3,continue
#示例:
跳过4

i=1
while i <= 5:
    if i == 4:
        i += 1
        continue
    print(i)
    i+=1


1
2
3
5



注意:
# continue同一级别的后面不要再写代码
# 循环体代码最后一步不要写continue

4,while+ else
i=1
while i <= 5:
    print(i)
    i+=1
else:
    print('满足循环正常非break运行')


1
2
3
4
5
满足循环正常非break运行



============

i=1
while i <= 5:
    if i == 4:
        break
    print(i)
    i+=1
else:
    print('满足循环正常非break运行')


1
2
3

5, 用户登录验证,三次密码错误登陆退出

# 方式一


count=0
while True:
    name=input('name:')
    password=input('password:')
    if name == 'mz' and password == '123':
        print('login succeed')
        break
    else:
        print('faild login')
        count+=1
    if count == 3:
        print('too many login,exiting')
        break



name:zx
password:zx
faild login
name:zx
password:zx
faild login
name:zx
password:zx
faild login
too many login,exiting

name:mz
password:123
login succeed



======================

count=0
while True:
    name=input('name:')
    password=input('password:')
    if name == 'mz' and password == '123':
        print('login succeed')
        while True:
            print('输入操作编号')
            choice=input('>>>')
            if choice == '0':
                break
            elif choice == '1':
                print('取款')
            elif choice =='2':
                print('转账')
        break
    else:
        print('faild login')
        count+=1
    if count == 3:
        print('too many login,exiting')
        break



name:mz
password:123
login succeed
输入操作编号
>>>1
取款
输入操作编号
>>>2
转账
输入操作编号
>>>0


注意:
1)if name == 'mz' and password == '123': 要加引号
2)if choice == '0': 数字要加引号
3)if choice == '0':
                break 连个break退出循环,对应两个while,位置不能放错


# 方式二

count=0
tag=True
name=input('name:')
passwd=input('passwd:')
while tag:
    if name == 'mz' and passwd == '123':
        print('login succeed')
        while tag:
            print('''
            输入编码
            0 退出
            1 查询
            2 转账
            ''')
            choice=input('choice:')
            if choice == '0':
                tag = False
            elif choice == '1':
                print('查询')
            elif choice == '2':
                print('转账')
            else:
                print('输入错误,重新输入')
    else:
        print('faild to login')
        count+=1
    if count == 3:
        print('too many times')
        break





注意:
tag = True
使用变量作为条件,把条件改为假,只需要一次
tag = False

四,for循环

l=[11,22,33,44]
i=0
while i <len(l):
    print(l[i])
    i+=1


等同于
for x in l:
    print(x)


11
22
33
44


======================

dic={"name":"mz","age":88}
for i in dic:
    print(i)

name
age






dic={"name":"mz","age":88}
for i in dic:
    print(i,dic[i])


name mz
age 88

======================


info=[["name","mz"],["age",22]]
for i in info:
    print(i)


info=[["name","mz"],["age",22]]
for x,y in info:
    print(x,y)


['name', 'mz']
['age', 22]
name mz
age 22

五,range范围

1)使用
i=0
while True:
    if i < 3:
         print('hello')
         i+=1




等同于
l=[11,22,33]
for x in l:
    print('hello')




等同于
for x in range(3):
    print('hello')



hello
hello
hello




PS:
python3直接范围取值(老母鸡)
python2是下蛋,占内存

2)for + break

# for + break
for x in range(5):
    if x == 3:
        break
    print(x)

0
1
2


# for + continue
for i in range(5):
    if i ==3:
        continue
    print(i)

0
1
2
4



#for + else
for i in range(5):
    if i ==3:
        continue
    print(i)
else:
    print('endendend')


0
1
2
4
endendend


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容