一、輸入函數(shù)
1、輸出函數(shù) : print()
1、默認(rèn)每一個print函數(shù),輸出完內(nèi)容后輸出一個換行
2、一個print函數(shù)輸出多個內(nèi)容的時候,內(nèi)容之間是用空格隔開
3、內(nèi)容后邊加 end= 來設(shè)置結(jié)束標(biāo)志,默認(rèn)是 \n
4、通過設(shè)置sep的值來設(shè)置多個內(nèi)容之間的間隔符,默認(rèn)一個空格
print('gasds', 100, end='\t', sep='^')
print('zhisdsa')
2、輸入函數(shù):input()函數(shù)
1、input()函數(shù)可以接收從控制臺輸入的內(nèi)容(以回車為結(jié)束標(biāo)志),函數(shù)()里可以添加提示字符
2、input函數(shù)會阻塞線程,程序執(zhí)行到input的時候會停下來,等待用戶的輸入,輸入完成后才會執(zhí)行下面的內(nèi)容
3、接收到的數(shù)據(jù)是以字符串的形式返回的(Python2.x中輸入的數(shù)字時候,可能返回int類型或浮點型)
value = input('輸入一個整數(shù):')
print(value, type(value))
# 練習(xí):猜數(shù)字游戲
隨機(jī)產(chǎn)生一個1-100的整數(shù),輸入的數(shù)字如果和產(chǎn)生的隨機(jī)數(shù)一樣,就提示猜對了并結(jié)束
如果輸入的數(shù)大于或小于隨機(jī)數(shù),就提示輸入的數(shù)字偏大或偏小,然后重新輸入
# 產(chǎn)生一個隨機(jī)數(shù)
import random
num = random.randint(1, 10)
while True:
shu_ru = int(input('請輸入一個數(shù):'))
if shu_ru < num:
print('輸小了')
elif shu_ru > num:
print('輸大了')
else:
print('猜對了')
break
二、列表
列表、字典、元組、集合都是序列,都是容器類型的數(shù)據(jù)類型
列表(list):用來存儲多個數(shù)據(jù)的一種數(shù)據(jù)類型。里面存儲的單個數(shù)據(jù),叫元素。
特點:1、有序的 ;2、可變的(可變指容器中的內(nèi)容的個數(shù)和值可變);3、元素可以是任何類型的數(shù)據(jù)。
列表的值:用[]將列表中的元素括起來,多個元素之間用逗號隔開。[] -->空列表
1、怎么聲明一個列表
1、聲明一個變量,賦一個列表值
list1 = []
print(type(list1))
<class 'list'>
2、將其他的數(shù)據(jù)類型轉(zhuǎn)換成列表
list2 = list('police')
print(list2)
list3 = list(i*2 for i in range(10)) (還可以對i進(jìn)行條件選擇)
print(list3)
['p', 'o', 'l', 'i', 'c', 'e']
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
2、獲取列表元素
列表中的每一個元素都對應(yīng)一個下標(biāo):0列表長度-1或-1-列表長度
a、獲取單個元素:列表名[下標(biāo)]
下標(biāo)不能越界,會報IndexError
b、獲取部分元素(切片)
列表名[起始下標(biāo):結(jié)束下標(biāo)]:獲取從起始下標(biāo)開始,到結(jié)束下標(biāo)前所有元素,結(jié)果是一個列表
列表名[起始下標(biāo):結(jié)束下標(biāo):步進(jìn)]
起始下標(biāo)和結(jié)束下標(biāo)都可以缺省,
起始下標(biāo)缺省如果步進(jìn)為正,就從第一個開始取,如果步進(jìn)是負(fù)數(shù),就從最后一個開始取到結(jié)束下標(biāo)
結(jié)束下標(biāo)缺省,步進(jìn)為正,獲取到最后一個元素,步進(jìn)是負(fù)數(shù),從起始下標(biāo)往前取到第一個元素
names = ['BMw', 'Audi', 'yuri', 'joe']
print(names[:1:-1])
print(names[1::-1])
print(names[::-1])
print(names[:1])
print(names[1:])
print(names[:])
['joe', 'yuri']
['Audi', 'BMw']
['joe', 'yuri', 'Audi', 'BMw']
['BMw']
['Audi', 'yuri', 'joe']
['BMw', 'Audi', 'yuri', 'joe']
3、獲取列表的長度(獲取列表元素的個數(shù))
格式:len(列表)
四、 添加列表元素
1、append 函數(shù)
格式:列表.append(元素)
在列表的末尾添加一個元素
skills = []
skills.append('氣體源流')
print(skills)
['氣體源流']
skills.append('拘靈遣將')
print(skills)
['氣體源流', '拘靈遣將']
2、insert函數(shù)
格式:列表.insert(下標(biāo),元素)
在列表的指定的下標(biāo)前插入一個元素,
注意:下標(biāo)可以越界,越界后插入的元素要么最后,要么最前面,也可以為負(fù)數(shù)
skills.insert(0, '通天箓')
print(skills)
['通天箓', '氣體源流', '拘靈遣將']
3、+
列表1+列表2
將列表2的元素和列表1中元素合并后創(chuàng)建一個新的列表
new_skills = skills + ['豐厚氣門', '阿威十八式']
print(new_skills)
['通天箓', '氣體源流', '拘靈遣將', '豐厚氣門', '阿威十八式']
# 練習(xí):從控制臺輸入10個學(xué)生的成績,然后保存在一個列表中
score = []
for i in range(10):
sum1 = float(input('輸入成績:'))
score.append(sum1)
print(score)
五、刪除列表
注意: 不管是添加元素還是刪除元素,都會重新分配下標(biāo)
1、 del語句
del可以刪除任何數(shù)據(jù)
格式:del 列表[下標(biāo)]:刪除列表中指定下標(biāo)的元素
注意:下標(biāo)不能越界
films = ['肖申克的救贖', '阿甘正傳', '摔跤吧爸爸', '賭神', '英雄本色']
del films[1]
print(films)
['肖申克的救贖', '摔跤吧爸爸', '賭神', '英雄本色']
2、remove方法
格式:列表.remove(元素):刪除列表中的指定元素(如果同一個元素有多個,只刪除最前面的那一個元素):
注意:如果要刪除的元素不在列表中,會報錯ValueError
films.remove('摔跤吧爸爸')
print(films)
3、pop方法
格式:列表.pop(): 將列表中的最后一個元素取出來
列表.pop(下標(biāo)):將列表中指定下標(biāo)的元素取出來
注意:下標(biāo)不能越界
print(films)
film = films.pop()
print(films, film)
scores = [23,45,54,75,98,54,78],刪除所有小于60
scores = [23, 45, 54, 75, 98, 54, 78, 100, 32]
scores1 = scores[:]
for i in scores1:
if i < 60:
scores.remove(i)
print(scores)
del remove 和pop區(qū)別:
del remove是把元素從內(nèi)存里刪除,而pop將要刪除的元素提取出來放入另一個id里,但不給提取出來的元素命名,最后提取出來的元素也會被釋放掉。

如果score列表元素改變,score1中的元素也會改變,但score2不會改變;score2列表的元素改變,score和score1的元素不會改變。