2018-07-20 day05

一、輸入輸出函數(shù)

1.輸出函數(shù):print()

    1. 默認每一個print()函數(shù)輸出完內容后會輸出一個換行符
    1. 一個print()函數(shù)輸出多個內容用','隔開,輸出會變成空格
    1. 內容后面加上end=''來設置結束標志,默認是'\n'
    1. 內容后加上sep='',來把原本的','顯示的空格替換掉
print('aaa', 666, end='')
print('bbb', 1000, sep='')

2.輸入函數(shù):input()函數(shù)

    1. input()函數(shù)可以接收從控制臺輸入的內容,以回車為結束標志
    1. input()函數(shù)會阻塞線程,程序執(zhí)行到input的時候會停下來等待用戶的輸入,輸入完成后才會繼續(xù)執(zhí)行
    1. input()接收到的數(shù)據(jù)是以字符串的形式返回(python2.x中輸入的是數(shù)字的時候返回的是int或者float型)
value = input('(參數(shù)/提示)請輸入一個整數(shù):')
print(value, type(value))

練習1: 隨機產生一個1~100的數(shù)字,輸入數(shù)字如果和產生數(shù)字提示猜對并且退出,不相等則提示小了或者是大了

import random
result = random.randint(1, 100)
count = 0
while True:
    guess = int(input('請輸入你猜得答案:'))
    count += 1
    if result > guess:
        print('輸入結果小了')
    elif result < guess:
        print('輸入結果大了')
    else:
        if count > 5:
            print('太一般了')
        else:
            print('運氣好而已')
        print('恭喜你猜對了,猜了', count, '次', sep='')
        break

二、列表

  • 列表\字典\元組\集合都是序列,都是容器類型得數(shù)據(jù)類型
  • 列表(list):用來存儲多個數(shù)據(jù)的一種數(shù)據(jù)類型,里面存儲的單個數(shù)據(jù)叫做元素
  • 特點:1.有序 2.可變的(內容個數(shù)和值都可改變) 3.元素可以是任何類型的數(shù)據(jù)
  • 列表的值:用[]將元素括起來,多個元素之間用','隔開. []->空列表

1.聲明一個列表

list1 = []  # 創(chuàng)建一個空列表  聲明一個變量賦列表值
print(type(list1))
list2 = [1, 12.3, 'asdd', [1, 2, 3, 'a'], True, {'a': 1}]
print(type(list2), list2)
list3 = list('aaaa')  # 將其他變量轉換成列表 整型/浮點型/布爾型不能轉換為列表
print(type(list3), list3)
list4 = list(i * 2 for i in range(10))  # 通過生成式聲明列表
print(list4)
list5 = list(i for i in range(10) if i % 3 == 0)
print(list5)

2.獲取列表的元素

  • 列表中的每個元素都對應一個下標:0列表長度-1/-1-列表長度

注意:下標不能越界

names = ['科比', '歐文', '韋德', '名人', '姚明']
print(names)

a. 獲取單個元素: 列表名[下標]

print(names[-1])

b. 獲得部分元素(切片)

  • 列表名[起始下標:結束下標]左閉右開: 從起始下標開始到結束下標之前的元素,結果還是列表
  • 列表名[起始下標:結束下標:步進]:從起始下標開始,每次下標值加步進獲取下一個元素,直到結束下標前為止
  • 起始下標和結束下標都可以缺省.如果步進是正數(shù),起始下標缺省是從0開始,如果為負則從最后一個開始,如果步進是正數(shù),結束下標缺省是從最后開始,如果為負則從第一個開始
print(names[1:3])
print(names[-4:-1])
names[:]  # 從列表中獲取所有元素創(chuàng)建一個新的列表

c.遍歷列表

scores = [59, 58, 57, 56, 88, 55, 53, 50]
count = 0
for i in scores:  # for循環(huán)遍歷
    if i < 60:
        count += 1
print(count)

3.獲取列表的長度: len(列表)

i, count = 0, 0
while i < len(scores):
    if scores[i] < 60:
        count += 1
    i += 1
print(count)

三、添加列表元素

1.append()函數(shù)添加元素

  • 列表.append(元素)
  • 在列表的末尾添加一個元素
skills = []
skills.append('單手暴扣')

skills.append('單腳起跳基礎扣籃')

2.insert函數(shù)

  • 列表.insert(index,元素)
  • 在指定下標前添加元素
  • 注意:index可以越界,會插入到最前/最后
skills.insert(1, '戰(zhàn)斧式扣籃')

3.+拼接列表

  • 列表1+列表2
  • 將列表2中的元素與列表1的元素合并,創(chuàng)建一個新的列表
skills += ['傳奇德雷克勒斯', '傳奇喬丹']
print(skills)

練習1:從控制臺輸入10個學生的成績,保存到列表中

grades = []
for _ in range(10):
    grade = float(input('>>>'))
    grades.append(grade)
print(grades)

四、刪除列表元素

注意:不管是添加元素還是刪除元素,都會重新分配下標,下標不能越界

1.del 語句

  • del可以刪除任何數(shù)據(jù)
  • del 列表[下標]:刪除列表中指定下標的元素
names = ['狗蛋', '二傻', '狗剩', '蠢蛋', '二比', '大狗', '二狗', '鐵蛋', '二傻']

del names[4]

2.remove方法

  • 列表.remove(元素):刪除列表中的指定元素(如果有多個相同元素,只刪第一個)

注意:如果刪除的元素不存在,則會報錯

names.remove('二傻')
print(names)

3.pop方法

  • 列表.pop():彈出最后一個元素
  • 列表.pop(下標):彈出指定下標的元素

注意:下標不能越界

name = names.pop()
print(names, name)
name = names.pop(2)
print(names, name)

練習1:刪除所有成績小于60分的成績

scores = [21, 23, 50, 89, 92, 5, 35, 89, 92, 99]

for i in scores[:]:
    if i < 60:
        scores.remove(i)

print(scores)

總結:

最后切片雖然每次循環(huán)在更新,但是實際上for用的list是第一次的結果

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容