首頁 > 軟體

Python入門教學之變數與資料型別

2022-02-17 13:00:48

一、 Python變數與資料型別

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

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("nn按下 enter 鍵後退出。")   #利用input互動式賦予變數值

以上程式碼中 ,"nn"在結果輸出前會輸出兩個新的空行。一旦使用者按下 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變數與資料型別內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com