python變量、運算符、要求從鍵盤輸入用戶名和密碼,校驗格式是否符合規則,如果不符合,打印出不符合的原因,並提示重新輸入練習


1、變量

變量的概念?

  • 變量是計算機內存中的一塊區域,存儲規定范圍內的值,值 可以改變,通俗的說變量就是給數據起個名字。
  • 變量命名規則
    •變量名由字母、數字、下划線組成要符合標識符的命名規范
    • 數字不能開頭
    • 不能使用關鍵字

變量的運算
在這里插入圖片描述

  • 變量運算和正常的四則運算一樣,值得注意的是在勻速那過程中含有浮點數,運算后輸出的值也是浮點數類型。

2、變量在內存中的原理

原理:變量在內存中就是一塊特定的存儲區域(地址)。

1. 引用變量

  • 兩個引用指向同一 int 數據
a=10 b=10 print(id(a),id(b)) 
  • 結果:地址一樣

在這里插入圖片描述

  • 兩個引用指向同一個str數據
a='slbsvbsbh' b='slbsvbsbh' print(id(a),id(b)) 
  • 結果:地址一樣

在這里插入圖片描述

  • 兩個引用指向同一個list數據
a = [1,2,3] b = [1,2,3] print (id(a),id(b)) 
  • 結果:地址不一樣

在這里插入圖片描述

2. 拷貝

list1 = [1, 2, 3] list2 = list1.copy() print(id(list1), id(list2)) 
  • 結果:地址不一樣

在這里插入圖片描述

3、運算符

3.1 運算符的概念

  • 運算符用於執行程序代碼運算,會針對一個以上操作數項目來進行運算。例如:2+3,其操作數是2和3,而運算符則是“+”

3.2 運算符的分類

• 算術運算符
• 賦值運算符
• 比較運算符(關系運算符)
• 邏輯運算符
• 條件運算符(三元運算符)

3.3 算術運算符

• 加法運算符 表現形式 +
• 減法運算符 表現形式 -
• 乘法運算符 表現形式 *
• 除法運算符 表現形式 /
• // 整除,只會保留計算后的整數位,總會返回一個整型
• % 取模,求兩個數相除的余數
• ** 冪運算,求一個值的幾次冪

3.4 賦值運算符

賦值運算符的特殊寫法 x = x + 3 其實是和 x += 3 是一樣的
• += (x+= 3 相當於 x = x + 3 )
• -= (x -= 3 相當於 x= x - 3 )
• *= (x = 3 相當於 x = x 3 )
• **= (x **= 3 相當於 x = x ** 3 )
• /= (x /= 3 相當於 x = x/ 3 )
• //= (x //= 3 相當於 x = x // 3 )
• %= (x %= 3 相當於 x= x % 3 )

3.5 比較運算符

• 比較運算符用來比較兩個值之間的關系,總會返回一個布爾值.如果關系成立,返回True,否則返回False
• > 比較左側值是否大於右側值
• >= 比較左側的值是否大於或等於右側的值
• < 比較左側值是否小於右側值
• <= 比較左側的值是否小於或等於右側的值
• 特殊的比較方式
• == 比較兩個對象的值是否相等
• != 比較兩個對象的值是否不相等
• is 比較兩個對象是否是同一個對象,比較的是對象的id
• is not 比較兩個對象是否不是同一個對象,比較的是對象的id

3.6邏輯運算符

3.6.1 not 邏輯非
• not可以對符號右側的值進行非運算,對於布爾值,非運算會對其進行取反操作,True變False,False變True

3.6.2 and 邏輯與
• and可以對符號兩側的值進行與運算。 只有在符號兩側的值都為True時,才會返回True,只要有一個False就返回False
• 與運算是找False的,如果第一個值為False,則不再看第二個值

3.6.3 or 邏輯或
• 或運算兩個值中只要有一個True,就會返回True
• 或運算是找True的

3.6.4 非布爾值的與或運算

  • 當我們對非布爾值進行與或運算時,Python會將其當做布爾值運算,最終會返回原值
    • 非布爾值與運算的規則
    • 與運算是找False的,如果第一個值是False,則不看第二個值。如果第一個值是False,則直接返回第一個值,否則返回第二個值

  • 非布爾值或運算的規則
    • 或運算是找True的,如果第一個值是True,則不看第二個值。如果第一個值是True,則直接返回第一個值,否則返回第二個值

3.7 條件運算符(三元運算符)

在這里插入圖片描述
語法:

if 條件表達式: 語句1 else: 語句2 如: a = 3 if a <= 3: a = a+1 else: a = 0 
  • 條件運算符在執行時,會先對條件表達式進行求值判斷
    如果判斷結果為True,則執行語句1,並返回執行結果
    如果判斷結果為False,則執行語句2,並返回執行結果

3.7 運算符的優先級

作業練習

1.a,b = 6, 8 我想讓a=8 b=6我該怎么辦?用2種方式實現

a,b = 6,8 # 方法一: c = a a = b b = c print(a,b) # 方法二: list = [a,b] a = list[1] b = list[0] print(a,b) 
  • 結果:
    方法一:
    在這里插入圖片描述
    方法二:
    在這里插入圖片描述

 

2. 完成字符串的逆序以及統計

• 設計一個程序,要求只能輸入長度低於31的字符串,否則提示用戶重新輸入
• 打印出字符串長度
• 使用切片逆序打印出字符串

 n = str(input("請輸入字符串:")) if len(n)<31: print(len(n),n[::-1]) else: print("輸入的內容有誤,請檢查后重新輸入!!!") 
  • 結果:
  • 在這里插入圖片描述

 

3. 要求從鍵盤輸入用戶名和密碼,校驗格式是否符合規則,如果不符合,打印出不符合的原因,並提示重新輸入
• 用戶名長度6-20,用戶名必須以字母開頭
• 密碼長度至少6位,不能為純數字,不能有空格

while True: #獲取用戶名輸入 username = input("請輸入用戶名:") if username == 'quit': break # 校驗用戶名格式是否在6-20之間,查看用戶名是不是以字母開頭 if 6>len(username) or len(username)>20 or username[0] not in "abcdefghijklmnopqrstuvvwxyaABCDEFGHIJKLMNOPQRTSUVWXYZ": print(username[0]) print("請輸入有效的用戶名,長度6-20,且必須以字母開頭") print("請重新輸入!!!") continue # 獲取密碼輸入 passwd = input("請輸入密碼:") # 校驗密碼格式6位,不能為純數字,不能有空格 if len(passwd) < 6 or passwd.isdigit() or " " in passwd: print("密碼長度至少6位,不能為純數字,不能有空格") print("請重新輸入") # 如果不正確直接重新開始 ,所以使用continue continue print("校驗成功!!,請輸入quit退出。") 
  • 結果:
    在這里插入圖片描述

總結

本文為學習筆記,轉載請標明出處,本文僅供交流學習,請勿用於非法途徑,希望本文對大家有幫助。

僅是個人意見,如有不足之處或者侵權,請留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM