Python入門教程之變量與數據類型

一、 Python變量與數據類型

  • Python是一種動態解釋型的編程語言
  • 要想使用python,可以使用python自帶的IDLE編輯器,也可以下載PyCharm

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mJOL9YdR-1644998906579)(F:\個人文檔\markdown圖片\image-20210612104335264.png)]

1.變量概述

變量是存儲在內存中的值,而這就意味著在創建變量時會在內存中開辟一個空間。基於變量的數據類型,解釋器會分配指定內存,並決定什麼數據可以被存儲在內存中,因此,變量可以指定不同的數據類型

變量名是由字母、數字、下劃線組成的,第一個字符必須是字母或者下劃線_

使用變量可以提高代碼的可讀性,便於修改

Python中的變量賦值不需要類似聲明,每個變量都在內存中創建,包括變量的的標識、名稱、數據等信息,每個變量在使用前都必須賦值,變量賦值以後這個變量才會被創建

在Python中“=”用來給變量賦值,變量名=變量值

2.創建變量

#創建合法的變量名稱
>>> a =1 
>>>print(a)  #print()是打印,即shell中的echo
1
>>> _a =2
>>> print(_a)
2
>>> a1 = 3
>>> print(a1)
3

#可以同時指定多個變量名進行賦值
>>> a,b,c = 1,2,3
>>> print(a)
1
>>> print(b,c)
2 3

3.Python3常用的數據類型

類型 作用
數字(Numbers) 數字類型數據用於存儲數值,他們是不可改變的數據類型,這意味著改變數字類型會分配一個新的對象,當你指定一個值時,Numbers類型的對象就會被創建
字符串(String) 字符串或串是由數字、字母、下劃線組成的一串字符,在給變量賦值時加雙引號就是字符串類型
列表(List) Python中使用最頻繁的數據類型,列表可以完成大多數集合類的數據結構,支持字符、數字、字符串,也可以嵌套,在列表中包含列表,使用[ ]創建列表
元組(Tuple) 元組是另一個數據類型,類似於列表,但是不能二次賦值,相當於隻讀列表,使用()創建元組
字典(Dictionary) 字典是除瞭列表以外,Python中最靈活的內置數據結構類型,使用{ }創建字典

列表是有序的對象集合,而字典是無序的對象集合。兩者的區別在於,字典中的元素是通過鍵來存取的,也就是鍵值對的方式Key-Value,而不是通過偏移存取。列表隻是簡單的存放多個變量值,字典相當於是”在字典中又創建瞭變量“

3.1.數字(Numbers)

3.1.1.數字的數據類型也分成瞭很多種類型:

整型(int): 也就是整數

浮點型(float): 帶小數點的數字

佈爾型(bool): 用於邏輯運算,隻有true和false,即真和假

復數(complex): 復數由實部(real)和虛部(imag)構成,在 Python 中,復數的虛部以j或者J作為後綴,,如1+2j、1.1+2.2J

3.1.2.Python運算符:

算法 運算符
加法 +
減法
乘法 *
除法 /
求模,取餘 %
求冪,即求次方,2**2即2的2次方 **

先乘除後加減,有小括號就先算小括號,註意:Python是不支持自增運算符++和自減運算符–的

3.1.3.整型、浮點型、佈爾型

>>> x = 123   #整型
>>> print(x)
123
>>> y = 1.12  #浮點型
>>> print(y)
1.12
>>> a = True  #佈爾型true
>>> print(a)
True
>>>if(a):  #使用if語句反段,符合if語句的條件,就輸出下面的語句,因為a為佈爾型true,所以始終為真,也就是始終符合條件
...    print("為真")
...    
為真
>>> b = False #佈爾型false
>>> if(b):  #如果b符合條件,則輸出為真,否則輸出為假,因為b是佈爾型false,所以始終為假,也就是始終為假
...    print("為真")
... else:    
...    print("為假")
...   
為假

3.1.4.變量標識符

變量標識符就像是變量的“身份證”,具有唯一性

>>> print(id(x))  #查看x變量的標識符
2774440106160

>>> print(id(y))  #查看y變量的標識符
2774486777776

3.1.5.Python運算符

>>> x,y = 2,4     #賦值變量x和y的值分別是2和4
>>> print(x+y,y-x,x*y)  #加、減、乘算法
6 2 8

>>> print(4/2,2**4)  #除、求冪算法
2.0 16

>>> print(8%5)  #取餘算法,8除5餘3
3

3.2.字符串(String)

  1. python中單引號和雙引號使用完全相同。
  2. 使用三引號(’’’ 或 “”")可以指定一個多行字符串。
  3. 轉義符 \
  4. 反斜杠可以用來轉義,使用r可以讓反斜杠不發生轉義。。 如 r"this is a line with \n" 則\n會顯示,並不是換行。
  5. 按字面意義級聯字符串,如"this " "is " "string"會被自動轉換為this is string。
  6. 字符串可以用 + 運算符連接在一起,用 * 運算符重復。
  7. Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
  8. Python中的字符串不能改變。
  9. Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。

3.2.1.單引號、雙引號、三引號

>>> name = '亞索'  #單引號
>>> print(name)
亞索

>>> age = "34歲"   #雙引號
>>> print(age)
34歲
>>> aihao = """    #三引號
耍劍
喝酒
"""
>>> print(aihao)

3.2.2.轉義符

>>> aaa = "aa'gao'"   
>>> print(aaa)
aa'gao'
>>> bbb = ' aaa"ccc"'
>>> print(bbb)
 aaa"ccc"
>>> ccc = 'abc\'ccc' #轉義'為普通字符
>>> print(ccc)
abc'ccc

3.2.3.常用轉義符

轉義符 作用
\ 在行尾時使用,為續航符,也就是換行符
\\ 這個含義是指把\轉義成普通字符
\’ 把’轉義成普通字符
\" 把“轉義成普通字符
\n 換行符,把光標移動到下一行繼續
\v 縱向制表符,將光標向下移動一個制表符單位
\t 水平制表符,將光標向右移動一個制表符單位
\r 代表一個回車

3.2.4.字符串的其他用法

#+號可以當作字符串的連接字符,而*號可以是重復操作
>>> print("aaa" + "bbb")
aaabbb
>>> print(3*"aaa")
aaaaaaaaa

#新建一個新的.py文件,寫入:
a = ' '
print("歡迎來到,英雄聯盟")
print(a*2+"歡迎來到,英雄聯盟")
print(a*4+"歡迎來到,英雄聯盟")
歡迎來到,英雄聯盟
  歡迎來到,英雄聯盟
    歡迎來到,英雄聯盟
#a為一個空,利用*號可以使空重復操作變成多個,然後就可以實現上面的效果

3.3.列表(list)

3.3.1.列表的定義

#列表其實就是一個變量有多個變量值,但是這個變量值叫做元素,所以也叫做,一個列表中有多個元素,使用[]來表示列表
>>> a = ["1","2","3"]
>>> print(a)
['1', '2', '3']

3.3.2列表的取值

#列表有兩種取值順序:
1.從左到右索引默認從0開始,最大范圍是字符串長度-1,這個0和shell的位置變量有點像
2.從右到左的索引默認從-1開始,最大范圍是字符串開頭
>>> a = ["1","2","3"]
>>> print(a)
['1', '2', '3']
>>> print(a[0])
1
>>> print(a[1])
2
>>> print(a[2])
3
>>> print(a[-1])
3
>>> print(a[-2])
2
>>> print(a[-3])
1
>>> print(a[0:2])   #從0開始到2位置結束
['1', '2']
>>> print(a[0:3])
['1', '2', '3']
>>> print(a[0:1])
['1']
>>> a[0]=4   #修改a列表中0位置為4
>>> print(a)  
[4, '2', '3']
>>> a.append(5)  #在a列表末尾添加5
>>> print(a)
[4, '2', '3', 5]
>>> a.insert(1,6)  #在a列表的1位置後添加6
>>> print(a)
[4, 6, '2', '3', 5]

3.3.3.刪除列表元素

>>> print(a)
[4, 6, '2', '3', 5]
>>> del a[0]    #刪除a列表中的0位置的元素
>>> print(a)
[6, '2', '3', 5]

3.3.4.查找列表元素

>>> print(a)
[6, '2', '3', 5]
>>> 6 in a      #查看a列表中是否有6,有就返回True沒有就返回False
True
>>> 8 in a
False

3.3.5.合並列表

>>> a = ["nihao","shijie"]
>>> b = ["hello","world"]
>>> c = a + b   #利用+號,來合並列表,變量也可以這樣使用
>>> print(c)
['nihao', 'shijie', 'hello', 'world']
>>> d = b + a
>>> print(d)
['hello', 'world', 'nihao', 'shijie']
>>> print(a*3)   #利用*號,來重復列表
['nihao', 'shijie', 'nihao', 'shijie', 'nihao', 'shijie']

3.3.6.列表常見問題

>>> print(a)
[1, 2, 3]
>>> print(a[6])     #不能直接查看超過列表元素總數的值
Traceback (most recent call last):
  File "<input>", line 1, in <module>
IndexError: list index out of range
>>> print(a[1:6])    #但是可以指定范圍查看
[2, 3]
>>> print(a[0:-1])   #指定范圍時,可以同時使用正數和負數進行索引
[1, 2]

3.3.7.嵌套列表

#列表中也可以是列表,是可以無限嵌套的
>>> a = [[1,2,3],"aaa",[4,5,6]]
>>> print(a)
[[1, 2, 3], 'aaa', [4, 5, 6]]
>>> print(a[0])  #查看a列表中的第0個位置的元素
[1, 2, 3]
>>> print(a[0][0])  #查看a列表中第0個位置元素的第0個位置的元素
1

3.3.8.字符串轉列表

str1 = "12345"
list1 = list(str1)
print list1

str2 = "123 sjhid dhi"
list2 = str2.split() #or list2 = str2.split(" ")  #以“空”為分割來切割字符串生成列表
print list2

str3 = "www.google.com"
list3 = str3.split(".")  #以“.”為結果分割
print list3

結果如下:

['1', '2', '3', '4', '5']
['123', 'sjhid', 'dhi']
['www', 'google', 'com']

3.3.9.反轉列表元素

a=[1,2,3,4]
b=a[-1::-1]   #第一個-1表示從4開始,::表示移動到列表末尾,也就是移動到1,第二個-1表示逆向
print(b)

#輸出結果
[4, 3, 2, 1]

3.4.元組(Tuple)

元組類似於一個隻讀列表,寫入元素後,元組中的元素是不可變的,操作速度比列表要快,安全性更強,使用()來創建元組

雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表。

構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則:

tup1 = ()    # 空元組
tup2 = (20,) # 一個元素,需要在元素後添加逗號

3.4.1元組的創建和刪除

>>> a = (1,2,3)
>>> print(a)
(1, 2, 3)
>>> a[0] = 4  #元組的元素不能修改,會報錯
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> del a    #在刪除元組時,隻能全部刪除,不能指定刪除某個元素
>>> print(a)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'a' is not defined

3.4.2.元組和列表的互相轉換

>>> a = [1,2,3]
>>> b = (1,2,3)
>>> c = list(b)  #轉換時,需要重新定義變量
>>> print(c)
[1, 2, 3]
>>> print(type(c))  #查看c變量的類型,發現是列表
<class 'list'>
>>> d = tuple(a)  #把a列表變成元組,並且重新定義變量成d
>>> print(d)
(1, 2, 3)
>>> print(type(d))
<class 'tuple'>

3.5.集合(Set)

集合是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員

基本功能是進行成員關系測試和刪除重復元素

可以使用大括號{ }或者是set( )函數創建集合,要註意的是,創建一個空集合必須使用set( ),因為{ }使用來創建一個空字典的

創建格式:

a = {value1,value2,...}
set(value)

3.5.1.集合的創建

a = {'aaa','bbb','ccc','ddd'}
print(a)
print(type(a))

輸出結果:
{'aaa', 'ddd', 'bbb', 'ccc'}
<class 'set'>
b=set("aaaa5cccddd")
print(b)
print(type(b))

輸出結果:
{'a', 'd', 'c', '5'}
<class 'set'>

3.5.2.成員測試

a = {'aaa','bbb','ccc','ddd'}
if 'aaa' in a:
    print("aaa在a集合中")
else:
    print("aaa不在a集合中")
    
輸出結果:
aaa在a集合中

3.5.3.集合運算

a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
print(a - b)   #a和b的差集
print(a | b)   #a和b的並集
print(a & b)   #a和b的交集
print(a ^ b)   #a和b中不同時存在的元素

輸出結果:
{'b', 'r', 'd', 'c', 'a'}
{'l', 'z', 'm', 'c', 'a'}
{'r', 'd', 'b'}
{'l', 'z', 'b', 'r', 'd', 'm', 'c', 'a'}
{'a', 'c'}
{'l', 'r', 'z', 'b', 'd', 'm'}

3.6.字典(Dictionary)

字典中的值,是通過鍵值對來存儲的,key-value的方式,使用{}來創建字典,字典的索引由鍵和它對應的值組成

列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典是一種映射類型,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合。

鍵(key)必須使用不可變類型。

在同一個字典中,鍵(key)必須是唯一的。創建字典使用{ }

3.6.1.字典的創建

#字典中的鍵具有唯一性,但是值可以相同,鍵名區分大小寫,當有多個相同的鍵名和值時,隻有最後一個鍵值會生效
>>> a = {"id":1,"name":"zhangsan"}
>>> print(a)
{'id': 1, 'name': 'zhangsan'}
>>> print(type(a))
<class 'dict'>
>>> print(a["id"])  #索引a字典中,id鍵的值
1
>>> print(a["name"])
zhangsan
>>> a = {"id":1,"id":2,"id":3} 
>>> print(a)  #字典中有多個相同的鍵時,隻有最後一個鍵值會生效
{'id': 3}
>>> del a     #刪除a字典

3.6.2.字典中鍵的添加、修改、刪除操作

#添加:
a={"aaa":1,"bbb":2}
a["ccc"] = 3   #添加不存在的鍵值即可
print(a)

輸出結果:
{'aaa': 1, 'bbb': 2, 'ccc': 3}
——————————————————————————————
#修改:
a={"aaa":1,"bbb":2}
a["aaa"] = 3   #修改指定鍵的值
print(a)

輸出結果:
{'aaa': 3, 'bbb': 2}
——————————————————————————————
#刪除:
a={"aaa":1,"bbb":2}
del a["aaa"]    #刪除指定的鍵值
print(a)

輸出結果:
{'bbb': 2}

3.7.Python數據類型轉換

有時候,我們需要對數據內置的類型進行轉換,數據類型的轉換,你隻需要將數據類型作為函數名即可。

以下幾個內置的函數可以執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。

函數 描述\作用
int(x [,base]) 將x轉換為一個整數
float(x) 將x轉換到一個浮點數
complex(real [,imag]) 創建一個復數
str(x) 將對象 x 轉換為字符串
repr(x) 將對象 x 轉換為表達式字符串
eval(str) 用來計算在字符串中的有效Python表達式,並返回一個對象
tuple(s) 將序列 s 轉換為一個元組
list(s) 將序列 s 轉換為一個列表
set(s) 轉換為可變集合
dict(d) 創建一個字典。d 必須是一個 (key, value)元組序列。
frozenset(s) 轉換為不可變集合
chr(x) 將一個整數轉換為一個字符
ord(x) 將一個字符轉換為它的整數值
hex(x) 將一個整數轉換為一個十六進制字符串
oct(x) 將一個整數轉換為一個八進制字符串

4.Python3基礎語法

4.1.編碼

默認情況下,Python 3 源碼文件以 UTF-8 編碼,所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼:

# -*- coding: cp-1252 -*-

上述定義允許在源文件中使用 Windows-1252 字符集中的字符編碼,對應適合語言為保加利亞語、白羅斯語、馬其頓語、俄語、塞爾維亞語。

4.2.標識符

  • 第一個字符必須是字母表中字母或下劃線 _
  • 標識符的其他的部分由字母、數字和下劃線組成。
  • 標識符對大小寫敏感。

在 Python 3 中,可以用中文作為變量名,非 ASCII 標識符也是允許的瞭。

4.3.Python保留字

保留字即關鍵字,我們不能把它們用作任何標識符名稱。Python 的標準庫提供瞭一個 keyword 模塊,可以輸出當前版本的所有關鍵字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4.3.註釋

Python中單行註釋以 # 開頭,實例如下:

#!/usr/bin/python3  
# 第一個註釋 
print ("Hello, Python!") # 第二個註釋

執行以上代碼,輸出結果為:

Hello, Python!

多行註釋可以用多個 # 號,還有 ‘’’“”"

#!/usr/bin/python3  
# 第一個註釋 
# 第二個註釋  
''' 
第三註釋 
第四註釋 
'''  
""" 
第五註釋 
第六註釋 
""" 
print ("Hello, Python!")

執行以上代碼,輸出結果為:

Hello, Python!

4.4.行與縮進

python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 {}

縮進的空格數是可變的,但是同一個代碼塊的語句必須包含相同的縮進空格數。實例如下:

if True:    
    print ("True") 
else:    
    print ("False")

以下代碼最後一行語句縮進數的空格數不一致,會導致運行錯誤:

if True:
  print ("Answer")
  print ("True")
else:
  print ("Answer")
 print ("False")   # 縮進不一致,會導致運行錯誤

以上程序由於縮進不一致,執行後會出現類似以下錯誤:

File "test.py", line 6
    print ("False")    # 縮進不一致,會導致運行錯誤
                                      ^
IndentationError: unindent does not match any outer indentation level

4.5.多行語句

Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠 ** 來實現多行語句,例如:

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行語句,不需要使用反斜杠 ****,例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

4.6.空行

函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。

空行與代碼縮進不同,空行並不是Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的代碼,便於日後代碼的維護或重構。

**記住:**空行也是程序代碼的一部分。

4.7.等待用戶輸入

執行下面的程序在按回車鍵後就會等待用戶輸入:

\#!/usr/bin/python3  
input("\n\n按下 enter 鍵後退出。")   #利用input交互式賦予變量值

以上代碼中 ,"\n\n"在結果輸出前會輸出兩個新的空行。一旦用戶按下 enter 鍵時,程序將退出。

4.8.同一行顯示多條語句

Python 可以在同一行中使用多條語句,語句之間使用分號 ; 分割,以下是一個簡單的實例:

\#!/usr/bin/python3  
import sys; x = 'runoob'; sys.stdout.write(x + '\n')

使用腳本執行以上代碼,輸出結果為:

runoob

使用交互式命令行執行,輸出結果為:

>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n')
runoob
7

此處的 7 表示字符數。

4.9.多個語句構成代碼組

縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。

像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行代碼構成代碼組。

我們將首行及後面的代碼組稱為一個子句(clause)。

如下實例:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

4.10.print輸出

print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上 end=""

\#!/usr/bin/python3  
x="a" 
y="b" 
# 換行輸出 
print( x ) 
print( y )  
print('---------') 
# 不換行輸出 
print( x, end=" " ) 
print( y, end=" " ) 
print()

以上實例執行結果為:

a
b
———
a b

4.11.import和from…import

在 python 用 import 或者 from…import 來導入相應的模塊。

將整個模塊(somemodule)導入,格式為: import somemodule

從某個模塊中導入某個函數,格式為: from somemodule import somefunction

從某個模塊中導入多個函數,格式為: from somemodule import firstfunc, secondfunc, thirdfunc

將某個模塊中的全部函數導入,格式為: from somemodule import *

#導入sys模塊
import sys 
print('================Python import mode==========================') 
print ('命令行參數為:') 
for i in sys.argv:    
    print (i) 
print ('\n python 路徑為',sys.path)

#導入sys模塊的argv,path成員
from sys import argv,path  #  導入特定的成員  
print('================python from import===================================') print('path:',path) # 因為已經導入path成員,所以此處引用時不需要加sys.path

4.12.命令行參數

很多程序可以執行一些操作來查看一些基本信息,Python可以使用-h參數查看各參數幫助信息:

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

我們在使用腳本形式執行 Python 時,可以接收命令行輸入的參數

二、腳本 -選車牌小程序

import random
import string      #導入變量
car_num = string.digits+string.ascii_uppercase   #定義一個變量,這個變量的值是隨機的數字和大寫字母組成的字符串
print("請選擇你的車牌號")    #提示語
a = 3     #預定義變量用作於while循環
while a > 0:    #當a變量的值大於0時進行循環,a變量定義為3
    num_list = []  #定義一個空列表
    for i in range(20):  #定義for循環,循環20次
        choice = random.choice(string.ascii_uppercase)   #定義變量,這個變量的值是隨機的一位大寫字母
        car = f"京{choice}-{''.join(random.sample(car_num,5))}"  #定義變量,這個變量就是車牌號,利用join把上面變量的五位字符串整合到一起
        car = str(car)    #上面的變量定義為字符串類型
        num_list.append(car)    #把新建變量加入上面定義的空列表,加入到末尾
        print(f"這是第{i}次的車牌號:{car}")    #提示語
    aaa = input("請選擇你的車牌:")    #利用交互式函數input對aaa變量進行賦值
    if aaa in num_list:      #對aaa變量進行判斷輸入的變量值是否在上面的列表中
        print(f"恭喜你選中車牌,車牌號是:{aaa}")    #有的話輸出提示語並且退出循環
        break
    else:
        a -= 1           #沒有的話利用while循環a的值進行提示
        print(f"對不起,你沒有選中車牌,你還有{a}次機會")
        if a == 0:
            print("對不起,你已經無法選擇車牌瞭")
        else:
            print("請重新選擇")

-99乘法表

for a in range(1,9):
    for b in range(1,9):
        if b <= a:
            c = a * b
            print(f"{a} * {b} = {c}\t", end="")
    print("")

– 年會抽獎小程序

import random
import string
list_1 = []
for i in range(1,300):
    name_1 = string.ascii_uppercase
    name_2 = random.sample(name_1,2)
    name_3 = str(i) + ''.join(name_2)
    list_1.append(name_3)
print(list_1)

print(random.choice(list_1))
a = 1
b = 1
c = 1
while a < 4:
    while b < 7:
        while c < 31:
            san = random.choice(list_1)
            print(f"抽三等獎,獎品是byt,第{c}位抽獎的是{san},恭喜獲得三等獎")
            list_1.remove(san)
            c = c + 1
        er = random.choice(list_1)
        print(f"抽二等獎,獎品是iphone,第{b}位抽獎的是{er},恭喜獲得二等獎")
        list_1.remove(er)
        b = b + 1
    yi = random.choice(list_1)
    print(f"抽一等獎,獎品是泰國五日遊,第{a}位抽獎的是{yi},恭喜獲得一等獎")
    list_1.remove(yi)
    a = a + 1

print(list_1)

到此這篇關於Python入門——變量與數據類型的文章就介紹到這瞭,更多相關Python變量與數據類型內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: