一狼钮、輸入輸出函數(shù)
1.輸出函數(shù):print()
print('輸出內(nèi)容', '輸出內(nèi)容', '輸出內(nèi)容', sep='---', end='-----')
sep:設(shè)置每個(gè)輸入內(nèi)容之間的間隔符號(hào)(默認(rèn)為空格)
end:設(shè)置print輸出完內(nèi)容后的結(jié)束符號(hào)(默認(rèn)為\n撞叽,換行)
輸出:
輸出內(nèi)容---輸出內(nèi)容---輸出內(nèi)容-----
2.輸入函數(shù):input()
????a.input()函數(shù)可以接受從控制臺(tái)輸入的內(nèi)容
????b.它會(huì)阻塞線程古徒,執(zhí)行到input后用戶輸入完成后才能繼續(xù)執(zhí)行后面的語句憔披。
????c.它接受到的數(shù)據(jù)叔营,全部是以字符串
的形式儲(chǔ)存的
????d.為了用戶體驗(yàn)撑刺,可以在input()的括號(hào)里設(shè)置提示內(nèi)容鹉胖。
# 練習(xí):猜數(shù)字游戲
import random
rig = random.randint(1, 10)
num = -1
count = 0
while num != rig:
num = int(input('輸入:--->')) #將輸入的數(shù)字轉(zhuǎn)換成整型,再參與比對(duì)
count += 1
if num < rig:
print('太小了,請(qǐng)重新輸入')
continue
elif num > rig:
print('太大了够傍,請(qǐng)重新輸入')
continue
else:
print('猜對(duì)了甫菠,數(shù)字是', rig, '你猜了', count, '次')
break
運(yùn)行結(jié)果:
輸入:--->7
太大了,請(qǐng)重新輸入
輸入:--->3
太小了,請(qǐng)重新輸入
輸入:--->5
猜對(duì)了冕屯,數(shù)字是 5 你猜了 3 次
二寂诱、列表
1.列表特性
- 列表(list)是一種
容器類型
的數(shù)據(jù)類型。用來儲(chǔ)存多個(gè)數(shù)據(jù)安聘,列表里的單個(gè)數(shù)據(jù)痰洒,稱作元素
。 - 列表的特點(diǎn):
(1). 有序的浴韭,列表用[ ]將元素括起來丘喻,多個(gè)元素用 , 隔開念颈;
(2).可變的(容器中的元素個(gè)數(shù)泉粉,和元素的值);
(3).元素可以是任何類型的數(shù)值。 - 聲明一個(gè)元素:
list1 = [] # 創(chuàng)建一個(gè)空的列表
list2 = [1, 12.0, 'abc', [1, 2, 3, 'a']]
print(list2, type(list2))
- 將其他的數(shù)據(jù)類型轉(zhuǎn)換成列表
list3 = list('abcde23')
轉(zhuǎn)換完成后嗡靡,字符串list的每個(gè)字符都變成list3的元素跺撼。
輸出
['a', 'b', 'c', 'd', 'e', '2', '3']
2.獲取列表元素
列表類似字符串,每個(gè)元素都有自己相對(duì)應(yīng)的下標(biāo)(0 - len(list)-1)
- 獲取單個(gè)元素
變量名 = 列表[index] ------>(index:下標(biāo)) - 獲取多個(gè)元素
同字符串的字符獲取一樣讨彼,列表也支持'切片'操作财边。
列表[ 起始下標(biāo) : 結(jié)束下標(biāo) : 步進(jìn) ]
????a.步進(jìn)默認(rèn)為1,其中前后下標(biāo)都支持缺省点骑。
????b.列表同字符串一樣酣难,同樣支[ -1:-len(list)]的操作,結(jié)合步進(jìn)黑滴,視情況可以靈活運(yùn)用憨募。
names = ['路飛', '佐羅', '娜美', '鳴人', '佐助']
print(names[::-1])
輸出:
['佐助', '鳴人', '娜美', '佐羅', '路飛']
3.添加列表元素
往列表里添加元素的3種方式:
- (1)append()函數(shù)
列表.append(元素)
在列表的末尾
添加一個(gè)元素,一次只能添加一個(gè)元素 - (2) insert()函數(shù)
列表.insert(index,元素)
在指定的下標(biāo)前面
添加一個(gè)元素。index為指定的下標(biāo),如果越界了袁辈,則插入到最前面
或者最后面
- (3)+
列表1+列表2
將列表2中的元素(添加)拼接到列表1中菜谣,創(chuàng)建一個(gè)新的
列表
#練習(xí):輸入10個(gè)人的成績到列表,并打印出來
#append函數(shù)實(shí)現(xiàn)
score = []
for _ in range(0, 10):
value = float(input('請(qǐng)輸入成績'))
score.append(value)
print(score)
#insert實(shí)現(xiàn):
score = []
for i in range(0, 10):
value = float(input('請(qǐng)輸入'))
score.insert(i, value)
print(score)
# + 實(shí)現(xiàn):
score = []
for _ in range(0, 10):
value = float(input('請(qǐng)輸入成績'))
score = score + [value]
print(score)
輸出:
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
4.刪除列表元素
實(shí)現(xiàn)刪除列表的元素也有3種方式:
- (1)del語句
del可以刪除任何數(shù)據(jù)
del 列表[index] :刪除列表中指定下標(biāo)的元素 - (2)remove()方法
列表.remove(元素):刪除列表中的指定的元素
刪除列表中的指定的元素(如果同一個(gè)元素有多個(gè)晚缩,只能刪除最前面那一個(gè))
注意:
如果要?jiǎng)h除的元素不在列表中尾膊,會(huì)報(bào)錯(cuò) - (3)pop()方法
pop方法與前兩種方法的區(qū)別在于,用pop方式取
出來的元素不會(huì)被刪除荞彼。
列表.pop():將列表中的最后一個(gè)元素取出來
列表.pop(index):將列表中指定下標(biāo)的元素取出來冈敛,如果不保存,可以提出來保存
在某個(gè)變量鸣皂。則元素從內(nèi)存中移除抓谴,這兒的下標(biāo)不能越界
.
# scores = [23, 45, 78, 32, 90, 89, 1],刪除小于60分的成績
scores = [23, 45, 78, 32, 90, 89, 1]
for item in scores[:]:
if item < 60:
scores.remove(item)
print(scores)
輸出
[78, 90, 89]
注意:
上面程序的for循環(huán)中的scores[ : ]:
在程序運(yùn)行的時(shí)候代表著:
new_list = scores
for item in new_list:
這時(shí)候參與循環(huán)的列表是被賦值的新的列表,循環(huán)的時(shí)候列表的元素位置不會(huì)變寞缝,程序得以正常進(jìn)行癌压。
如果直接在for循環(huán)里對(duì)scores這個(gè)列表進(jìn)行操作,剔除了前面的數(shù)據(jù)后荆陆,剩下的數(shù)據(jù)位置發(fā)生改變滩届,遍歷列表的意義就不在了!1惶洹帜消!
錯(cuò)誤的例子如圖: