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

Python集訓營45天—Day03 (分支和循環)

系統 1782 0

目錄

  • 1. 分支結構
    • 1.1 初步介紹
    • 1.2 使用案例
    • 1.3 練習
  • 2.循環結構
    • 1.1 初步介紹
    • 1.2 使用案例

1. 分支結構

1.1 初步介紹

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

語法格式:

          
                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("身份驗證失敗")
          
        

輸出結果

?

2、分段函數求值

          
            """
分段函數求值
       3x - 5 (x > 1)
f(x) = x + 2 (-1 < x < 1)
       5x + 3 (x <= -1)
version: 0.1
Author: coke
"""
x = float(input("請輸入一個數字:"))
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))
          
        

輸出結果

?

1.3 練習

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("洗洗手,決戰都天亮")

          
        

?

2、成績等級轉換

          
            """
百分制成績轉等級制成績
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('對應的等級是:', grade)
          
        

?

2.循環結構

1.1 初步介紹

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

在Python中構造循環結構有兩種做法,一種是 for-in 循環,一種是 while 循環。

for - in 循環

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

          
            for 臨時變量 in 列表或者字符串等:
        循環滿足條件時執行的代碼
          
        

?

while 循環

如果要構造不知道具體循環次數的循環結構,我們推薦使用 while 循環。 while 循環通過一個能夠產生或轉換出 bool 值的表達式來控制循環,表達式的值為 True 循環繼續,表達式的值為 False 循環結束。

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

?

break :結束當前循環

continue :用來結束本次循環,緊接著執行下一次的循環

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

?

1.2 使用案例

1、用for循環 計算1-100 之間偶數的和

          
            """
用 for循環實現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)
          
        

輸出結果

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

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

?

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

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

?

3、猜數字游戲

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

Python集訓營45天—Day03 (分支和循環)_第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集訓營45天—Day03 (分支和循環)_第2張圖片

?

1.3 練習

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

          
            """
輸入兩個正整數計算最大公約數和最小公倍數
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的最大公約數是%d' % (x, y, factor))
        print('%d和%d的最小公倍數是%d' % (x, y, x * y // factor))
        break
          
        

?

2、打印三角形圖案

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

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

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

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

version: 0.1
author: coke
"""

row = int(input('請輸入行數: '))
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()
          
        

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 民和| 镇康县| 陈巴尔虎旗| 隆子县| 凤冈县| 惠水县| 肃宁县| 文水县| 香河县| 宜君县| 忻州市| 莒南县| 上蔡县| 沭阳县| 虎林市| 东丰县| 唐海县| 台东县| 阿勒泰市| 长沙县| 临安市| 湖南省| 合肥市| 大兴区| 卫辉市| 邓州市| 阜新| 绥芬河市| 阜宁县| 开平市| 饶平县| 都安| 手游| 黎城县| 五河县| 黑龙江省| 宁化县| 临漳县| 师宗县| 阳山县| 辽源市|