輸出和輸入函數(shù)
- 輸出函數(shù)出:print()
1.默認(rèn)每個(gè)print函數(shù),輸出完內(nèi)容后會(huì)輸出一個(gè)換行
2.一個(gè)print函數(shù)輸出多個(gè)內(nèi)容的時(shí)候,內(nèi)容之間是用空格隔開(kāi)的
3.內(nèi)容后邊加end=來(lái)設(shè)置結(jié)束標(biāo)志(默認(rèn)是‘\n’)
4.通過(guò)設(shè)置sep的值,來(lái)設(shè)置多個(gè)內(nèi)容之間的間隔符
print('aaa', 100, end='\n', sep=',')
print('bbb')
結(jié)果:
aaa,100
bbb
- 輸入函數(shù):input()函數(shù)
1.input()函數(shù)可以接收從控制臺(tái)輸入的內(nèi)容(以回車為結(jié)束標(biāo)志)
2.input函數(shù)會(huì)阻塞線程,程序執(zhí)行到input的時(shí)候會(huì)停下來(lái),等待用戶的輸入,輸入完成后才會(huì)接著執(zhí)行下面的內(nèi)容
3.接收到的數(shù)據(jù)是以字符串的形式返回的
value = input('輸入一個(gè)數(shù)字:')
print('name', value, type(value))
結(jié)果:
輸入一個(gè)數(shù)字:5
name 5 <class 'str'>
練習(xí):猜數(shù)字游戲
隨機(jī)產(chǎn)生一個(gè)1-100的整數(shù)
輸入的數(shù)字如果和產(chǎn)生的隨機(jī)數(shù)是一樣的,就提示猜對(duì)了,并且游戲結(jié)束.
如果輸入的數(shù)大于或者小于隨機(jī)數(shù),就提示輸入的數(shù)字偏大或者偏小,然后讓其重新輸入.
import random
count = 0
number = random.randint(1,100)
print('******這是一個(gè)小游戲******')
while True:
temp = input('你猜才我的數(shù)字是什么:')
guess = int(temp)
count += 1
if guess < number:
print('你這個(gè)數(shù)小了')
continue
elif guess > number:
print('你這個(gè)數(shù)大了')
continue
elif guess == number:
if count == 1:
print('牛批')
elif 1 < count <= 5:
print('還可以')
elif count >= 6:
print('你是狗吧')
print('恭喜你猜對(duì)了')
break
結(jié)果:
******這是一個(gè)小游戲******
你猜才我的數(shù)字是什么:5
你這個(gè)數(shù)小了
你猜才我的數(shù)字是什么:50
你這個(gè)數(shù)小了
你猜才我的數(shù)字是什么:70
你這個(gè)數(shù)大了
你猜才我的數(shù)字是什么:60
你這個(gè)數(shù)小了
你猜才我的數(shù)字是什么:66
你這個(gè)數(shù)大了
你猜才我的數(shù)字是什么:63
你這個(gè)數(shù)小了
你猜才我的數(shù)字是什么:65
你這個(gè)數(shù)大了
你猜才我的數(shù)字是什么:64
你是狗吧
恭喜你猜對(duì)了
列表
列表、字典、元組、集合都是序列,都是容器類型的數(shù)據(jù)類型
列表(list):用來(lái)存儲(chǔ)多個(gè)數(shù)據(jù)的一種數(shù)據(jù)類型。里面存儲(chǔ)的單個(gè)數(shù)據(jù),我們叫元素
特點(diǎn):1.有序的 2.可變的(可變指定是容器中的內(nèi)容的個(gè)數(shù)和值可變)3.元素可以是任何類型的數(shù)據(jù)
列表的值:用[]將列表中的元素括起來(lái),多個(gè)元素之間用逗號(hào)隔開(kāi)。[] --> 空列表
- 怎么聲明一個(gè)列表
list1 = [] #創(chuàng)建一個(gè)空的列表
print(type(list1))
list2 = [1, 12.8, 'abc',]
print(list2,type(list2))
# 將其他的數(shù)據(jù)類型轉(zhuǎn)換成列表
list3 = list('444sdasd')
print(list3)
list4 = list(x for x in range(12))
print(list4)
結(jié)果:
<class 'list'>
[1, 12.8, 'abc'] <class 'list'>
['4', '4', '4', 's', 'd', 'a', 's', 'd']
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
- 獲取列表元素
列表中的每一個(gè)元素都對(duì)應(yīng)的一個(gè)下標(biāo):0 ~ 列表的長(zhǎng)度-1; -1 ~ -列表長(zhǎng)度
a.獲取單個(gè)元素:列表名[下標(biāo)]
name = ['小明','保羅','英雄','克羅地亞','科比']
print(name[1])
print(name[-1])
結(jié)果:
保羅
科比
b.獲取部分元素(切片)
- 列表名[起始下標(biāo):結(jié)束下標(biāo)]:獲取從起始下標(biāo)開(kāi)始,到結(jié)束下標(biāo)前的所有的元素。結(jié)果是一個(gè)列表.
- 列表名[起始下標(biāo):結(jié)束下標(biāo):步進(jìn)]從起始下標(biāo)開(kāi)始,每次下標(biāo)值加步進(jìn)獲取下一個(gè)元素,知道結(jié)束下標(biāo)前為止.
- 起始下標(biāo)和結(jié)束下標(biāo)都可以缺省:
如果步進(jìn)是正數(shù),起始下標(biāo)缺省就是從第一個(gè)元素開(kāi)始獲取;如果步進(jìn)是負(fù)數(shù)就從最后一個(gè)元素開(kāi)始結(jié)束下標(biāo)缺省,步進(jìn)是正數(shù),獲取到最后一個(gè)元素;步進(jìn)是負(fù)數(shù),從后往前獲取到第一個(gè)元素
name = ['小明','保羅','英雄','克羅地亞','科比']
print(name[0:3])
print(name[-5:-2])
print(name[0:4:2])
print(name[:]) #獲取列表中的所有的元素,從新創(chuàng)建一個(gè)新的列表
print(name[::-1]) #使列表中的元素倒敘過(guò)來(lái)
結(jié)果:
['小明', '保羅', '英雄']
['小明', '保羅', '英雄']
['小明', '英雄']
['小明', '保羅', '英雄', '克羅地亞', '科比']
['科比', '克羅地亞', '英雄', '保羅', '小明']
c.一個(gè)一個(gè)的獲取列表的所有元素(遍歷列表)
scores = [12,89,44,46,84,32]
#遍歷列表
#方法1:for循環(huán)
for item in scores:
print(item)
#方法2:
# while循環(huán)
index = 0
while index < len(scores):
print(scores[index])
index += 1
結(jié)果:
12
89
44
46
84
32
12
89
44
46
84
32
- 獲取列表的長(zhǎng)度(獲取列表元素的個(gè)數(shù))
scores = [12,89,44,46,84,32]
print(len(scores))
結(jié)果:
6
添加列表元素
- append函數(shù)
列表.append(元素)
在列表的末尾添加一個(gè)元素
skills = []
print(skills)
skills.append('龜派氣功')
print(skills)
skills.append('帽子戲法')
print(skills)
結(jié)果:
[]
['龜派氣功']
['龜派氣功', '帽子戲法']
- insert函數(shù)
列表.insert(下標(biāo),元素)
在列表的指定的下標(biāo)前插入一個(gè)元素
- 注意:在這里,下標(biāo)可以越界,如果越界,就會(huì)插入到列表的最前面或者最后面
- +
列表1+列表2
將列表2中的元素,添加到列表1中元素合并后創(chuàng)建一個(gè)新的列表
skills = ['龜派氣功']
new_skills = skills + ['風(fēng)后奇門','阿威十八式']
print(new_skills)
結(jié)果:
['龜派氣功', '風(fēng)后奇門', '阿威十八式']
# 練習(xí):從控制臺(tái)輸入10個(gè)學(xué)生的成績(jī),然后保存在一個(gè)列表中
score = []
for _ in range(10):
scores = float(input('請(qǐng)輸入學(xué)生的成績(jī)'))
score.append(scores)
print(score)
刪除列表元素
- del 語(yǔ)句
del 可以刪除任何數(shù)據(jù)
del 列表[下標(biāo)] :刪除列表中的指定下標(biāo)的元素
- 注意:這里的下標(biāo)不能越界
films = ['肖生克的救贖','回家的誘惑','大話西游','逃學(xué)威龍','賭圣','回家的誘惑']
del films[2]
print(films)
結(jié)果:
['肖生克的救贖', '回家的誘惑', '逃學(xué)威龍', '賭圣', '回家的誘惑']
- remove方法
列表.remonve(元素):刪除列表中的指定的元素
如果同一個(gè)元素有多個(gè),只刪除最前面的那一個(gè)
- 注意:如果要?jiǎng)h除的元素不再列表中,會(huì)報(bào)錯(cuò)
films = ['肖生克的救贖','回家的誘惑','大話西游','逃學(xué)威龍','賭圣','回家的誘惑']
films.remove('回家的誘惑')
print(films)
結(jié)果:
['肖生克的救贖', '大話西游','逃學(xué)威龍', '賭圣', '回家的誘惑']
- pop方法
列表.pop():將列表中的最后一個(gè)元素取出來(lái)
列表.pop(下標(biāo)):將列表中指定下標(biāo)的元素取出來(lái)
- 注意:這里下標(biāo)不能越界
films = ['肖生克的救贖','回家的誘惑','大話西游','逃學(xué)威龍','賭圣','回家的誘惑']
film1 = films.pop()
print(films)
print(film1)
film2 = films.pop()
print(film2,films)
結(jié)果:
['肖生克的救贖', '回家的誘惑', '大話西游', '逃學(xué)威龍', '賭圣']
回家的誘惑
賭圣 ['肖生克的救贖', '回家的誘惑', '大話西游', '逃學(xué)威龍']
小練習(xí)
scores = [23,45,78,32,90,89,1],刪除所有小于60分的成績(jī)
scores = [23, 45, 78, 32, 90, 89, 1]
for item in scores[:]:
if item < 60:
scores.remove(item)
print(scores)
結(jié)果:
[78, 90, 89]