日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python集訓(xùn)營45天—Day03 (分支和循環(huán))

系統(tǒng) 1688 0

目錄

  • 1. 分支結(jié)構(gòu)
    • 1.1 初步介紹
    • 1.2 使用案例
    • 1.3 練習(xí)
  • 2.循環(huán)結(jié)構(gòu)
    • 1.1 初步介紹
    • 1.2 使用案例

1. 分支結(jié)構(gòu)

1.1 初步介紹

至今,我們所寫的Python代碼都是順序執(zhí)行,但是有時候在代碼中是需要進行邏輯判斷的,比如用戶 輸入用戶名和密碼,輸入正確則驗證通過,否則即驗證失敗。這個時候就會產(chǎn)生兩個分支,而且兩個分支只會有一條分支會走下去。當然,還有很多類似的場景,我們將這種結(jié)果稱為 "分支結(jié)構(gòu)" 或 “選擇結(jié)構(gòu)”。

語法格式:

          
                if xxx1:
        事情1
    elif xxx2:
        事情2
    elif xxx3:
        事情3
    else:
        事情4
          
        

??

1.2 使用案例

1、用戶身份驗證

          
            # -*- coding:utf-8 -*-
"""
用戶身份驗證
version: 0.1
author: coke
"""
username = input("請輸入用戶名:")
password = input("請輸入密碼:")
if username == 'admin' and password == '123456':
    print("身份驗證成功")
else:
    print("身份驗證失敗")
          
        

輸出結(jié)果

?

2、分段函數(shù)求值

          
            """
分段函數(shù)求值
       3x - 5 (x > 1)
f(x) = x + 2 (-1 < x < 1)
       5x + 3 (x <= -1)
version: 0.1
Author: coke
"""
x = float(input("請輸入一個數(shù)字:"))
if x > 1:
    y = 3 * x - 5
elif x > -1 and x < 1:
    y = x + 2
else:
    y = 5 * x +3
print("f(%.2f)=%.2f"%(x,y))
          
        

輸出結(jié)果

?

1.3 練習(xí)

1、猜拳游戲

          
            # -*- coding:utf-8 -*-
"""
猜拳游戲
version: 0.1
author: coke
"""
import random
num = int(input("剪刀(0) 石頭(1) 布(2):"))
computer = random.randint(0,2)
print("電腦出拳:%d"%computer)

if (num == 0 and computer == 2) or (num == 1 and computer == 0) or (num == 2 and computer == 1):
    print("哈哈,你贏了")
elif  num == computer:
    print("平局,要不要再來一局")
else:
    print("洗洗手,決戰(zhàn)都天亮")

          
        

?

2、成績等級轉(zhuǎn)換

          
            """
百分制成績轉(zhuǎn)等級制成績
90分以上    --> A
80分~89分    --> B
70分~79分    --> C
60分~69分    --> D
60分以下    --> E

Version: 0.1
Author: coke
"""

score = float(input('請輸入成績: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('對應(yīng)的等級是:', grade)
          
        

?

2.循環(huán)結(jié)構(gòu)

1.1 初步介紹

如果在程序中我們將執(zhí)行一系列的重復(fù)指令,比如我想計算1 - 100的和 或者 我想輸出99次 helloWorld,難道要一個個去寫么,如果真是這樣,那么編程的工作就太不合理了,所以,我們還需要了解一下循環(huán)結(jié)構(gòu),如果我們學(xué)會了循環(huán)結(jié)構(gòu),就可以重復(fù)的執(zhí)行某些操作指令。

在Python中構(gòu)造循環(huán)結(jié)構(gòu)有兩種做法,一種是 for-in 循環(huán),一種是 while 循環(huán)。

for - in 循環(huán)

如果我們可以知道循環(huán)的次數(shù)或者是對容器的迭代(容器后面會涉及),我們會推薦for-in循環(huán)

          
            for 臨時變量 in 列表或者字符串等:
        循環(huán)滿足條件時執(zhí)行的代碼
          
        

?

while 循環(huán)

如果要構(gòu)造不知道具體循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),我們推薦使用 while 循環(huán)。 while 循環(huán)通過一個能夠產(chǎn)生或轉(zhuǎn)換出 bool 值的表達式來控制循環(huán),表達式的值為 True 循環(huán)繼續(xù),表達式的值為 False 循環(huán)結(jié)束。

          
            while 條件:
        條件滿足時,做的事情1
        條件滿足時,做的事情2
        條件滿足時,做的事情3
        ...(省略)...
          
        

?

break :結(jié)束當前循環(huán)

continue :用來結(jié)束本次循環(huán),緊接著執(zhí)行下一次的循環(huán)

注: break/continue只能用在循環(huán)中,除此以外不能單獨使用

?

1.2 使用案例

1、用for循環(huán) 計算1-100 之間偶數(shù)的和

          
            """
用 for循環(huán)實現(xiàn)1-100之間的求和
version: 1.0
Author: coke
"""
#-*- coding=utf-8 -*-
sum = 0
for x in range(1,101):
    if x % 2 == 0:
        sum += x
print(sum)
          
        

輸出結(jié)果

需要說明的是上面代碼中的 range 類型, range 可以用來產(chǎn)生一個不變的數(shù)值序列,而且這個序列通常都是用在循環(huán)中的,例如:

  • range(101) 可以產(chǎn)生一個0到100的整數(shù)序列。
  • range(1, 100) 可以產(chǎn)生一個1到99的整數(shù)序列。
  • range(1, 100, 2) 可以產(chǎn)生一個1到99的奇數(shù)序列,其中的2是步長,即數(shù)值序列的增量

?

2、不用判斷 計算 1-100 之間偶數(shù)的和

          
            """
用 for循環(huán)實現(xiàn)1-100之間的求和
version: 1.0
Author: coke
"""
#-*- coding=utf-8 -*-
sum = 0
for x in range(2,101,2):
    sum += x
print(sum)
          
        

?

3、猜數(shù)字游戲

          
            """
猜數(shù)字游戲
計算機出一個 1~100之間的隨機數(shù)由人猜
計算機分別根據(jù)人猜的數(shù)字分別給出提示大一點/小一點/猜對了
version: 0.1
admin: coke
"""
import random
answer = random.randint(1,100)
counter = 0
while True:
    counter += 1
    result = int(input("請輸入一個數(shù)字:"))
    if answer > result:
        print("大一點")
    elif answer < result:
        print("小一點")
    else:
        print("猜對了")
        break
if counter > 7:
    print("智商余額不足")
          
        

Python集訓(xùn)營45天—Day03 (分支和循環(huán))_第1張圖片

?

4、continue和break 的使用

          
            """
continue的使用
version: 0.1
author: coke
"""
name = "cokehaha"
for x in name:
    print("----")
    if x == "k":
        continue
    if x == "a":
        break
    print(x)
          
        

Python集訓(xùn)營45天—Day03 (分支和循環(huán))_第2張圖片

?

1.3 練習(xí)

1、輸入兩個正整數(shù),計算最大公約數(shù)和最小公倍數(shù)

          
            """
輸入兩個正整數(shù)計算最大公約數(shù)和最小公倍數(shù)
version: 0.1
author: coke
"""

x = int(input('x = '))
y = int(input('y = '))
if x > y:
    x, y = y, x
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公約數(shù)是%d' % (x, y, factor))
        print('%d和%d的最小公倍數(shù)是%d' % (x, y, x * y // factor))
        break
          
        

?

2、打印三角形圖案

          
            """
打印各種三角形圖案

*
**
***
****
*****

    *
   **
  ***
 ****
*****

    *
   ***
  *****
 *******
*********

version: 0.1
author: coke
"""

row = int(input('請輸入行數(shù): '))
for i in range(row):
    for _ in range(i + 1):
        print('*', end='')
    print()


for i in range(row):
    for j in range(row):
        if j < row - i - 1:
            print(' ', end='')
        else:
            print('*', end='')
    print()

for i in range(row):
    for _ in range(row - i - 1):
        print(' ', end='')
    for _ in range(2 * i + 1):
        print('*', end='')
    print()
          
        

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 时尚| 天津市| 文昌市| 台江县| 鹤峰县| 视频| 册亨县| 青海省| 新竹市| 清镇市| 莲花县| 磐石市| 辽宁省| 彝良县| 海南省| 永兴县| 凤冈县| 赣榆县| 耒阳市| 黄山市| 吉安县| 乐东| 肥城市| 靖江市| 和平县| 隆化县| 肥城市| 昌乐县| 钟山县| 营山县| 从江县| 宜州市| 莒南县| 霍林郭勒市| 汾西县| 西林县| 张家港市| 板桥市| 泰安市| 龙川县| 西宁市|