1. 程式人生 > 其它 >python(1)基礎語法(分支結構、迴圈結構、內建資料型別)

python(1)基礎語法(分支結構、迴圈結構、內建資料型別)

文章目錄


一.分支語句

  • 1). 單分支
    if 條件:
    滿足條件執行的內容
# 需求: 如果年齡大於18歲, 輸出成年
age = int(input("年齡:"))# python中input接收的是字串, 如果接收整型數, 需要通過int轉成整型數。
if age > 18:
    print("成年")
  • 2). 雙分支
    if 條件:
    滿足條件執行的內容
    else:
    不滿足條件執行的內容
age = int(input("年齡:"))
# 需求: 如果年齡大於18歲, 輸出成年, 否則輸出未成年。
if age > 18:
    print("成年"
) else: print("未成年")
  • 3). 三元運算子(雙分支的簡化版)
    result = 滿足條件的內容 if 條件 else 不滿足條件的內容
# 需求: 如果年齡大於18歲, 輸出成年, 否則輸出未成年。
age = int(input("年齡:"))
# 三元運算子: age>18?"成年":"未成年"
print("成年" if age>18 else "未成年")
  • 4). 多分支
    if 條件1:
    滿足條件1執行的內容
    elif 條件2:
    滿足條件2執行的內容
    else:
    不滿足條件執行的內容
"""
需求: 分數score
    1). 90=<score<=100, grade=A
    2). 80=<score<90, grade=B
    3). score<80, grade=C
"""
score = int(input('成績:'))
if 90<=score<=100:
    print("等級是A")
elif 80<=score<90:   # elif 滿足第二個條件做什麼操作
    print("等級是B")
else:
    print("等級是C")
練習:使用者登入
"""
程式碼需求:
    1. 使用者輸入使用者名稱和密碼
    2. 判斷使用者名稱和密碼是否正確(使用者名稱=admin, 密碼=westos)
    3. 如果正確: "使用者admin登入成功"
    3. 如果不正確: "使用者admin登入失敗"
"""
name = input("使用者名稱:")
password = input("密碼:")
if name == 'admin' and password == 'westos':
    print(f'使用者{name}登入成功')#{}意思是引用變數
else:
    print(f'使用者{name}登入失敗')

二.迴圈結構

實現迴圈的兩種方式:

1. while迴圈

  • 1).
    while 條件:
    滿足條件的語句
# 需求: 輸出數字從0-100
count = 0
while count <= 100:
    print(count) # 0
    # count = count + 1
    count += 1
  • 2).
    while 條件:
    滿足條件的語句
    else:
    不滿足條件的語句
try_count = 1
while try_count <= 3:
    print(f"第{try_count}次開始嘗試登入")
    try_count += 1
else:
    print("嘗試登入次數大於3次")
  • 3). 死迴圈
    while True:
    一直迴圈執行的程式碼
"""
使用者登入成功進入系統, 登入失敗,繼續登入。 並且統計登入次數。
"""
try_count = 1  # 使用者嘗試登入的次數
while True:
    print(f'使用者第{try_count}次登入系統')
    try_count += 1  # 使用者嘗試登入的次數+1
    name = input("使用者名稱:")
    password = input("密碼:")
    if name == 'admin' and password == 'westos':
        print(f'使用者{name}登入成功')
        exit()   # 退出程式
    else:
        print(f'使用者{name}登入失敗')
練習:輸出數字0-100之間所有的奇、偶數
# 需求: 輸出數字0-100之間所有的偶數。
count = 0
while count <= 100:
    print(count)
    count += 2
# 需求: 輸出數字0-100之間所有的奇數。
count = 1
while count <= 100:
    print(count)
    count += 2

2. for迴圈

  • 1). for和range的結合: 迴圈n次
    for num in range(n):
    迴圈的語句
  • 2). for和字串的結合
    for item in ‘westos’:
    迴圈的語句
# for迴圈訪問字串
string = 'westos'
# item='w', 'e', 's', 't', 's'
for item in string:
    print("---", item)

在這裡插入圖片描述

  • 3). for和else的結合
    for num in range(n):
    迴圈的語句
    else:
    迴圈結束後執行的語句
練習:輸出數字0-100之間所有的奇、偶數
# 需求: 輸出數字0-100之間所有的偶數。
for num in range(0, 101, 2):
    print(num)

# 需求: 輸出數字0-100之間所有的奇數。 for迴圈和range實現。
for num in range(1, 100, 2):
    print(num)

3. 跳出迴圈

  • break: 跳出迴圈
  • continue: 結束本次迴圈
  • exit(): 退出整個程式
 count = 0
 while count <= 10:
     count += 1 # 1
     print(count)
     if count == 5:
         # 遇到break, 迴圈結束
         break
count = 0
while count <= 10:
    count += 1 # 1
    print(count)
    if count == 5:
        # 遇到continue跳出本次迴圈
        continue

4. 迴圈巢狀: 九九乘法表

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}×{i}={j*i}", end=' ')# 如何讓print不換行: print('xxx', end=' ')
    # i=1, i=2, i=3, 開始換行
    print()

在這裡插入圖片描述

練習:防止暴力破解密碼
"""
需求:
根據輸入使用者名稱和密碼,判斷使用者名稱和密碼是否正確。
為了防止暴力破解, 登陸僅有三次機會, 如果超過三次機會, 報錯提示。
資料庫資訊:
	name='root'	passwd='westos'
"""
try_count = 1  # 使用者嘗試登入的次數
while try_count <= 3:
    print(f'使用者第{try_count}次登入系統')
    try_count += 1  # 使用者嘗試登入的次數+1
    name = input("使用者名稱:")
    password = input("密碼:")
    if name == 'root' and password == 'westos':
        print(f'使用者{name}登入成功')
        exit()   # 退出程式
    else:
        print(f'使用者{name}登入失敗')
else:
    print("嘗試的次數大於3次")

三.python內建的幾種資料型別

  • 字串str:單引號,雙引號,三引號引起來的字元資訊。
  • 陣列array:儲存同種資料型別的資料結構。[1, 2, 3], [1.1, 2.2, 3.3]
  • 列表list:打了激素的陣列, 可以儲存不同資料型別的資料結構. [1, 1.1, 2.1, ‘hello’]
  • 元組tuple:帶了緊箍咒的列表, 和列表的唯一區別是不能增刪改。
  • 集合set:不重複且無序的。 (交集和並集)

1. 字串str

s1 = 'hello'
s2 = "hello"
s3 = """
print(type(s1), type(s2), type(s3))

2. 列表List

li1 = [1, 2, 3, 4]
print(li1, type(li1))
li2 = [1, 2.4, True, 2e+5, [1, 2, 3]]
print(li2, type(li2))

3. 元組tuple

# 易錯點: 如果元組只有一個元素,一定要加逗號。
t1 = (1, 2.4, True, 2e+5, [1, 2, 3])
print(t1, type(t1))
t2 = (1,)
print(t2, type(t2))

4. 集合set(無序,不重複)

set1 = {1, 2, 1, 2, 3, 1, 20}
print(set1)   # 不重複{1, 2, 20}
set2 = {1, 2, 3}
set3 = {2, 3, 4}
print("交集:", set2 & set3)
print("並集:", set2 | set3)

5. 字典dict: {“name”:“westos”, “age”:10}

# key和value, 鍵值對, 通過key可以快速找到value值。
user = {"name":'westos', 'age':10}
print(user, type(user))
print(user['name'])
print(user['age'])

在這裡插入圖片描述

作業

編寫一個程式,將溫度從華氏溫度轉換為攝氏溫度。

"""
編寫一個程式,將溫度從華氏溫度轉換為攝氏溫度。
轉換公式: celsius * 1.8 = fahrenheit - 32。
輸入華氏溫度: 30
輸出: 30.0華氏度轉為攝氏度為-1.1。
"""
fahrenheit = float(input("請輸入華氏溫度:"))
celsius = float(fahrenheit-32)/1.8

print(f"攝氏溫度是:{celsius}" )

pycharm常用的快捷鍵總結

搜尋
Ctrl + Shift + F7 用法高亮顯示
Ctrl + Alt + F7 顯示用法
編輯
Ctrl + Shift + V 從最近的緩衝區貼上
Ctrl + D 複製選定的區域或行到後面或下一行
Ctrl + Y 刪除當前行
Ctrl + Shift + J 新增智慧線
Ctrl + Enter 智慧線切割
Shift + Enter 下一行另起一行
Ctrl + O 重新方法
Ctrl + Alt + T 選中
Ctrl + Numpad+/- 展開摺疊程式碼塊
Ctrl + Numpad+ 全部展開
Ctrl + Numpad- 全部摺疊
Ctrl + F4 關閉執行的選項卡
Ctrl + Space 基本的程式碼完成(類、方法、屬性)
Ctrl + Alt + Space 快速匯入任意類
Ctrl + Shift + Enter 語句完成
Ctrl + P 引數資訊(在方法中呼叫引數)
Ctrl + Q 快速檢視文件
Ctrl + / 行註釋
Ctrl + Shift + / 塊註釋
Ctrl + W 選中增加的程式碼塊
Tab / Shift + Tab 縮排、不縮排當前行
Ctrl+X/Shift+Delete 剪切當前行或選定的程式碼塊到剪貼簿
Ctrl+C/Ctrl+Insert 複製當前行或選定的程式碼塊到剪貼簿
Ctrl+V/Shift+Insert 從剪貼簿貼上
Ctrl + Alt + I 自動縮排
Ctrl + Shift + U 在選定的區域或程式碼塊間切換
Ctrl + Delete 刪除到字元結束
Ctrl + Backspace 刪除到字元開始
Shift + F1 外部文件
Ctrl + 滑鼠 簡介
Ctrl + Shift + W 回到之前狀態
Ctrl + Shift + ]/[ 選定程式碼塊結束、開始
Alt + Enter 快速修正
Ctrl + Alt + L 程式碼格式化
Ctrl + Alt + O 自動匯入
Ctrl + F1 顯示錯誤描述或警告資訊
Alt + Insert 自動生成程式碼

執行除錯
Alt + Shift + F10 執行模式配置
Shift + F10 執行
Shift + F9 除錯
Alt + Shift + F9 除錯模式配置
Ctrl + Shift + F10 執行編輯器配置
Ctrl + Alt + R 執行manage.py任務

查詢替換
F3 下一個
Ctrl + Shift + F 全域性查詢
Shift + F3 前一個
Ctrl + R 替換
Ctrl + Shift + R 全域性替換

重構
Ctrl + Alt + N 內聯
Ctrl + Alt + M 提取方法
F5 複製
F6 剪下
Alt + Delete 安全刪除
Shift + F6 方法或變數重新命名
Ctrl + Alt + V 提取屬性
Ctrl + Alt + F 提取欄位
Ctrl + Alt + C 提取常量
Ctrl + Alt + P 提取引數
Ctrl + F6 更改簽名

跳轉
Ctrl #[0-9] + 跳轉到標識的書籤
Shift + F11顯示書籤
Shift + Esc 隱藏當前視窗,焦點到編輯視窗
Ctrl + Shift + F4 關閉主動執行的選項卡
Ctrl + G 檢視當前行號、字元號
Ctrl + E 最近訪問的檔案
Ctrl+Alt+Left/Right 後退、前進
Ctrl + N 跳轉到類
Ctrl + Shift + N 跳轉到符號
Alt + Right/Left 跳轉到下一個、前一個編輯的選項卡
F12 回到先前的工具視窗
Esc 從其他視窗回到編輯視窗
Ctrl+B / Ctrl+Click 跳轉到宣告
Ctrl + Alt + B 跳轉到實現
Ctrl + Shift + I 檢視快速定義
Ctrl + Shift + B 跳轉到型別宣告
Ctrl + U 跳轉到父方法、父類
Alt + Up/Down 跳轉到上一個、下一個方法
Ctrl + ]/[ 跳轉到程式碼塊結束、開始
Ctrl + F12 彈出檔案結構
Ctrl + H 型別層次結構
Ctrl + Shift + H 方法層次結構
Ctrl + Alt + H 呼叫層次結構
F2 / Shift + F2 下一條、前一條高亮的錯誤
F4 / Ctrl + Enter 編輯資源、檢視資源
Alt + Home 顯示導航條F11書籤開關
Ctrl + Shift +F11 書籤助記開關
Ctrl+Shift+Backspace 導航到最近編輯區域
Alt + F1 查詢當前檔案或標識

除錯
Alt + F9 運行遊標
Alt + F8 驗證表示式
F8 跳過
F7 進入
Ctrl + Alt + F8 快速驗證表示式
F9 恢復程式
Ctrl + F8 斷點開關
Ctrl + Shift + F8 檢視斷點
Shift + F8 退出

常用
Tab / Shift + Tab 縮排、不縮排當前行(可選中多行)
Ctrl+C/Ctrl+Insert 複製當前行或選定的程式碼塊到剪貼簿
Ctrl + D 複製選定的區域或行到後面或下一行
Ctrl + Y 刪除當前行
Shift + Enter 下一行另起一行
Ctrl +J 插入模版
Ctrl + Shift +/- 展開/摺疊全部程式碼塊
Ctrl + Delete 刪除到字元結束
Ctrl + Backspace 刪除到字元開始
Ctrl + Shift + F7 將當前單詞在整個檔案中高亮
Alt + up/down 方法上移或下移動
Alt + Shift + up/down 當前行上移或下移動
Ctrl + B/滑鼠左鍵 轉到方法定義處
Ctrl + W 選中增加的程式碼塊
Shift + F6 方法或變數重新命名
Ctrl + E 最近訪問的檔案
Esc 從其他視窗回到編輯視窗
Ctrl + F1 顯示錯誤描述或警告資訊
Ctrl + / 行註釋(可選中多行)