日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础day03 作业解析【5道 字符串题、3道 列表题、2道 元组题】

發(fā)布時(shí)間:2024/9/30 python 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础day03 作业解析【5道 字符串题、3道 列表题、2道 元组题】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 視頻、源碼、課件、軟件、筆記:超全面Python基礎(chǔ)入門教程【十天課程】博客筆記匯總表【黑馬程序員】
  • Python基礎(chǔ)day03【字符串(定義、輸入輸出、常用方法)、列表(定義、基本使用、增刪改查、嵌套)、元組】

目錄

1、字符串

題目1 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目2 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目3 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目4 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目5 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

2、列表

題目1 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目2 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目3 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

3、元組 tuple

題目1 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案

題目2 [加強(qiáng)訓(xùn)練]

題干

訓(xùn)練目標(biāo)

訓(xùn)練提示

參考方案

操作步驟

參考答案


1、字符串

題目1 [加強(qiáng)訓(xùn)練]

題干

如果需要使用變量保存以下字符串,我們?cè)撊绾螘鴮懘a。

魯迅說:"我沒有說過這句話"。

訓(xùn)練目標(biāo)

讓學(xué)員知道含有字符串嵌套的方式。

訓(xùn)練提示

在python中,有兩種表現(xiàn)形式都可以定義為字符串類型,是哪兩種方式,是否可以混合使用呢?

參考方案

使用 " " 和 ' ' 都可以對(duì)字符串進(jìn)行定義。

操作步驟

  • 想要在在一個(gè)字符串中包含雙引號(hào)"", 字符串可以使用單引號(hào)定義

  • 想要在在一個(gè)字符串中包含單引號(hào)'', 字符串可以使用雙引號(hào)定義

  • 參考答案

    # 在python中,''可以嵌套在""中,用以表示字符串中的字符串 words = "魯迅說:'我沒有說過這句話'" print(words)# 還可以使用三引號(hào) words = """魯迅說:'我沒有說過這句話'""" print(words)

    題目2 [加強(qiáng)訓(xùn)練]

    題干

    做一個(gè)簡單的用戶信息管理系統(tǒng):

    提示用戶依次輸入姓名,年齡和愛好。并且在輸入完成之后,一次性將用戶輸入的數(shù)據(jù)展示出來。

    訓(xùn)練目標(biāo)

    字符串的聲明、字符串的輸入、字符串的輸出

    訓(xùn)練提示

  • 在python中,通過 "" 或者 '' 聲明一個(gè)字符串類型的變量

  • 使用input()函數(shù)從鍵盤獲取數(shù)據(jù)

  • 通過%s 的格式化操作符來輸出字符串類型

  • 參考方案

  • 通過input函數(shù)進(jìn)行字符串?dāng)?shù)據(jù)的錄入

  • 使用 string 類型保存錄入的數(shù)據(jù)

  • 使用 %s 格式化輸出保存的數(shù)據(jù)

  • 操作步驟

  • 通過input函數(shù)進(jìn)行字符串?dāng)?shù)據(jù)的錄入

  • 使用 string 類型保存錄入的數(shù)據(jù)

  • 使用 %s 格式化輸出保存的數(shù)據(jù)

  • 參考答案

    # 錄入數(shù)據(jù),并保存在變量中 name = input("請(qǐng)輸入姓名:") age = input("請(qǐng)輸入年齡:") hobby = input("請(qǐng)輸入您的愛好:")# 格式化輸出數(shù)據(jù) print("您的姓名是%s, 您的年齡是%s, 您的愛好是%s" % (name, age, hobby)) # 使用 f-string print(f"您的姓名是{name}, 您的年齡是{age}, 您的愛好是{hobby}")

    題目3 [加強(qiáng)訓(xùn)練]

    題干

    現(xiàn)有字符串如下,請(qǐng)使用切片提取出ceg,words = "abcdefghi"

    訓(xùn)練目標(biāo)

    字符串的切片使用

    訓(xùn)練提示

  • 切片的語法:[起始:結(jié)束:步長]
  • 選取的區(qū)間從"起始"位開始,到"結(jié)束"位的前一位結(jié)束(不包含結(jié)束位本身)
  • 步長表示選取間隔,默認(rèn)步長是正值,即從左到右選取,如果步長為負(fù)值,則從右向左選取
  • 參考方案

  • 使用切片進(jìn)行截取,起始位置是-7,結(jié)束位置是-1
  • 反向選取,步長為2
  • 操作步驟

  • 起始位置為-7,結(jié)束位置是-1,步長為2
  • 參考答案

    a = "abcdefghi" b = a[-7:-1:2] print(b) # ceg

    題目4 [加強(qiáng)訓(xùn)練]

    題干

    james有一個(gè)關(guān)于爬蟲的項(xiàng)目,他需要在一個(gè)字符串中查找python這個(gè)關(guān)鍵字, 當(dāng)前他通過index()函數(shù)進(jìn)行查找,雖然可以實(shí)現(xiàn)查找的需求,但是總會(huì)在沒有查找到關(guān)鍵字的時(shí)候報(bào)錯(cuò),為什么會(huì)報(bào)錯(cuò),如何優(yōu)化?

    訓(xùn)練目標(biāo)

  • 理解find函數(shù)和index函數(shù)的區(qū)別
  • 訓(xùn)練提示

  • find函數(shù)如果查找到則返回索引值,如果查不到,則返回-1

  • index函數(shù)如果查找到則返回索引值,如果查不到,則報(bào)錯(cuò)

  • 參考方案

  • 通過使用find函數(shù)的方式替換掉index
  • 操作步驟

  • 通過使用find函數(shù)的方式替換掉index
  • 參考答案

    # 只需要使用find函數(shù)替換掉index函數(shù)即可, # 在功能上, find函數(shù)index函數(shù)完全一致,不同的是index函數(shù)在沒有查找到關(guān)鍵字的情況下會(huì)報(bào)ValueError的異常, # 因此在一般開發(fā)環(huán)境下通常都會(huì)使用find函數(shù)

    題目5 [加強(qiáng)訓(xùn)練]

    題干

  • 判斷單詞great是否在字符串words中,如果在,則將每一個(gè)great后面加一個(gè)s, 如果不在則輸出 great不在該字符串中。
  • 將整個(gè)字符串的每一個(gè)單詞都變成小寫,并使每一個(gè)單詞的首字母變成大寫。
  • 去除首尾的空白,并輸出處理過后的字符串。
  • words = " great craTes Create great craters, But great craters Create great craters "

    訓(xùn)練目標(biāo)

  • 字符串的相關(guān)操作
  • 訓(xùn)練提示

  • 字符串的相關(guān)操作來解決上述問題

  • 使用判斷語句來判斷語句成立的條件

  • 參考方案

  • 使用in判斷某一個(gè)子字符串是否在母字符串中

  • 使用replace函數(shù)替換子字符串

  • 使用lower函數(shù)將字符串變?yōu)樾?/p>

  • 使用title函數(shù)將單詞的首字母大寫

  • 使用strip函數(shù)去除字符串首尾的空白

  • 操作步驟

  • 使用in判斷某一個(gè)子字符串是否在母字符串中

  • 使用replace函數(shù)替換子字符串

  • 使用lower函數(shù)將字符串變?yōu)樾?/p>

  • 使用title函數(shù)將單詞的首字母大寫

  • 使用strip函數(shù)去除字符串首尾的空白

  • 參考答案

    words = " great craTes Create great craters, But great craters Create great craters "# 判斷單詞great是否在這個(gè)字符串中 if 'great' in words:# 將每一個(gè)great替換成greatswords = words.replace("great", "greats")# 將單詞變成小寫words = words.lower()# 將每一個(gè)單詞的首字母都大寫words = words.title()# 去除首尾的空白words = words.strip()# 最后進(jìn)行輸出print(words)else:print("great不在該字符串中")

    2、列表

    題目1 [加強(qiáng)訓(xùn)練]

    題干

    有一個(gè)列表,判斷列表中的每一個(gè)元素是否以s或e結(jié)尾,如果是,則將其放入一個(gè)新的列表中,最后輸出這個(gè)新的列表。

    list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]

    訓(xùn)練目標(biāo)

    讓學(xué)員知道列表的循環(huán)和值的獲取,以及列表的操作方法。

    訓(xùn)練提示

  • 如何找到列表中的每一個(gè)元素?

  • 如何判斷列表中的元素以什么字符結(jié)尾?

  • 參考方案

  • 使用循環(huán)遍歷的方式獲取列表中的每一個(gè)元素?

  • 列表中的元素為字符串,所以可以使用下標(biāo)[-1] 來獲取最后一個(gè)字符的值,然后判斷.

  • 操作步驟

  • 遍歷列表中的每一個(gè)元素

  • if 判斷 最后一個(gè)字符是否是s或者e

  • 如果是,使用 append() 方法,將數(shù)據(jù)追加到新的列表中.

  • 參考答案

    my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]# 用來存放以e或者s結(jié)尾的字符串 new_list = []for i in my_list:# 判斷列表中每一個(gè)元素是否以s或e結(jié)尾if i[-1] == 's' or i[-1] == 'e':new_list.append(i)# 打印出這個(gè)新的列表 print(new_list)

    方法二:使用字符串中的方法來判斷。

    my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]# 用來存放以e或者s結(jié)尾的字符串 new_list = []for i in my_list:# 判斷列表中每一個(gè)元素是否以s或e結(jié)尾if i.endswith('s') or i.endswith('e'):new_list.append(i)# 打印出這個(gè)新的列表 print(new_list)

    題目2 [加強(qiáng)訓(xùn)練]

    題干

    給定一個(gè)列表,首先刪除以s開頭的元素,刪除后,修改第一個(gè)元素為"joke",并且把最后一個(gè)元素復(fù)制一份,放在joke的后邊。

    my_list = ["spring", "look", "strange", "curious", "black", "hope"]

    訓(xùn)練目標(biāo)

    列表的相關(guān)操作

    訓(xùn)練提示

  • 通過for循環(huán)遍歷列表,獲取到每一個(gè)元素

  • 通過列表的操作方法對(duì)列表進(jìn)行修改

  • 參考方案

  • 通過for循環(huán)獲取每一個(gè)元素

  • 通過remove刪除列表中的元素

  • 通過insert函數(shù)在指定位置插入元素

  • 操作步驟

  • 通過for循環(huán)獲取每一個(gè)元素,判斷是否以s開頭

  • 如果條件成立,則通過remove刪除選中的元素

  • 獲取到最后一個(gè)元素,通過replace將元素放在指定的位置上

  • 參考答案

    my_list = ["spring", "look", "strange", "curious", "black", "hope"] # 列表,刪除數(shù)據(jù)后,數(shù)據(jù)前移【列表中的某一個(gè)元素被刪除后,后續(xù)元素會(huì)自動(dòng)前移】。 # print(my_list[:]) # ['spring', 'look', 'strange', 'curious', 'black', 'hope'] for i in my_list[:]: # my_list[:]切片,取出所有元素,默認(rèn)步長為1# 刪除以s開頭的元素,if i[0] == 's':my_list.remove(i)# 修改第一個(gè)元素為"joke" my_list[0] = "joker"# 獲取最后一個(gè)元素 last_one = my_list[-1]# 將最后一個(gè)元素放在joke的后面 my_list.insert(1, last_one)print(my_list)

    題目3 [加強(qiáng)訓(xùn)練]

    題干

    將下列兩個(gè)列表合并,將合并后的列表去重,之后降序并輸出。

    list1 = [11, ?4, 45, 34, 51, 90]
    list2 = [4, 16, 23, 51, 0]

    訓(xùn)練目標(biāo)

    列表操作方法的使用

    訓(xùn)練提示

  • 如何合并兩個(gè)列表?

  • 如何進(jìn)行列表去重?

  • 如何排序并降序輸出?

  • 參考方案

  • 合并列表可以使用 extend()方法或者兩個(gè)列表相加。

  • 列表去重有兩種方案

  • 自己實(shí)現(xiàn)方法實(shí)現(xiàn),借助一個(gè)新的列表,循環(huán)遍歷原列表,判斷元素是否在新的列表中,如果在,遍歷下一個(gè)元素,如果不在,添加到新的列表中。

  • 使用 set() 集合去重

  • sort 函數(shù)可以實(shí)現(xiàn)排序,參數(shù)reverse=True對(duì)列表進(jìn)行倒序排序

  • 操作步驟

  • 使用 + 對(duì)列表進(jìn)行拼接(或者使用 extend)
  • 列表去重
  • 使用sort函數(shù),參數(shù)reverse=True對(duì)列表進(jìn)行倒序排序
  • 參考答案

    方案 1

    list1 = [11, 4, 45, 34, 51, 90] list2 = [4, 16, 23, 51, 0]# 1. 使用 + 合并兩個(gè)列表 my_list = list1 + list2# 2. 列表去重 # 2.1 定義新的空列表保存去重后的數(shù)據(jù) my_list1 = [] # 2.2 遍歷合并后的列表 for i in my_list:# 2.3 判斷i 是否在my_list1 中if i in my_list1:# 2.3.1 如果存在,直接下一次循環(huán)continueelse:# 2.3.2 將i添加到my_list1 中.my_list1.append(i)# 3. 循環(huán)結(jié)束,得到去重后的列表 my_list1,進(jìn)行排序 my_list1.sort(reverse=True)# 4. 輸出最后的結(jié)果 print(my_list1)

    方案 2 暫時(shí)不用管。后邊會(huì)學(xué)習(xí)。

    使用集合(set), 去重,

    set 也是一個(gè)容器,具有自動(dòng)去重的功能(后續(xù)會(huì)學(xué)習(xí))

    目前只需要了解即可。

    list1 = [11, 4, 45, 34, 51, 90] list2 = [4, 16, 23, 51, 0]# 列表拼接 list3 = list1 + list2# 列表去重 list4 = set(list3) list5 = list(list4)# 列表降序輸出 list5.sort(reverse=True)print(list5) # [90, 51, 45, 34, 23, 16, 11, 4, 0]

    3、元組 tuple

    題目1 [加強(qiáng)訓(xùn)練]

    題干

    有如下兩行代碼:

    tuple1 = (2)

    tuple2 = (2,)

    請(qǐng)問tuple1與tuple2有什么不同?

    訓(xùn)練目標(biāo)

    定義一個(gè)元素的元組

    訓(xùn)練提示

    通過肉眼能看到的只是一個(gè)逗號(hào)的區(qū)別,那么在python里面他是怎么理解的呢?

    參考方案

    用type()方法來分別對(duì)這兩個(gè)變量進(jìn)行區(qū)別

    操作步驟

    用type(tuple1),與type(tuple12)的結(jié)果進(jìn)行比較

    參考答案

    tuple1 = (2) tuple2 = (2,) print(type(tuple1)) # <class 'int'> print(type(tuple2)) # <class 'tuple'> # 對(duì)于tuple1 = (2),python解釋器會(huì)將小括號(hào)理解成一個(gè)運(yùn)算符號(hào),那么這時(shí)候 返回的值是一個(gè)int類型 # 所以對(duì)于只有一個(gè)元素的元組來說,要?jiǎng)?chuàng)建一個(gè)元組,那么就必須要加逗號(hào)

    題目2 [加強(qiáng)訓(xùn)練]

    題干

    有如下代碼,請(qǐng)回答問題?

    my_tuple = ("itcast", "python", "CPP", 18, 3.14, True)

  • 使用下標(biāo)的方法,輸出元組中的元素 "CPP"

  • 使用 for 循環(huán)遍歷元組

  • 使用 while 循環(huán)遍歷元組

  • 訓(xùn)練目標(biāo)

  • 元組的下標(biāo)操作

  • 元組的 for 循環(huán)遍歷

  • 元組的 while 循環(huán)遍歷

  • 訓(xùn)練提示

  • python 中的下標(biāo)是從 0 開始,還是從 1 開始?

  • 如何進(jìn)行 for 遍歷?

  • 如何進(jìn)行 while 遍歷?while 的條件怎么寫?

  • 參考方案

  • 下標(biāo)從 0 開始,故 CPP 的下標(biāo)是 2

  • 使用 for ... in ... 遍歷

  • while 循環(huán),需要使用下標(biāo),判斷條件可以借助 len()實(shí)現(xiàn)

  • 操作步驟

  • 使用下標(biāo)的方法,取 CPP 的值

  • for 循環(huán)遍歷

  • while 循環(huán)遍歷

  • 參考答案

    my_tuple = ("itcast", "python", "CPP", 18, 3.14, True)# 1. 使用下標(biāo)的方法,輸出元組中的元素 `"CPP"`使用下標(biāo)的方法, result = my_tuple[2] print(result)# 2. 使用 for 循環(huán)遍歷元組 for i in my_tuple:print(i)print("-" * 20)# 3. 使用 while 循環(huán)遍歷元組 i = 0 while i < len(my_tuple):print(my_tuple[i])i += 1

    加油~? ?—— 2021.02.22

    總結(jié)

    以上是生活随笔為你收集整理的Python基础day03 作业解析【5道 字符串题、3道 列表题、2道 元组题】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。