1. 程式人生 > >【廖雪峰python3.0】-課後習題:第5章:高階特性

【廖雪峰python3.0】-課後習題:第5章:高階特性

#5.1切片
# 利用切片操作,實現一個trim()函式,去除字串首尾的空格,注意不要呼叫str的strip()方法:
def trim(s):
    if(s[:1]==" "):
        s=s[1:]
        s=trim(s)
    elif(s[-1:]==" "):
        s=s[:-1]
        s=trim(s)
    return s

try:
	print('.'+trim(1)+'.')
except TypeError:
	print('請輸入str型')

#5.2迭代
# 請使用迭代查詢一個list中最小和最大值,並返回一個tuple:
def findMinAndMax(L):
	if L == []:
		return (None,None)
	else:
		return (min(L),max(L))

Lists = range(12)
print(findMinAndMax(Lists))

#5.3列表生成式
# 如果list中既包含字串,又包含整數,由於非字串型別沒有lower()方法,所以列表生成式會報錯:
#
# >>> L = ['Hello', 'World', 18, 'Apple', None]
# >>> [s.lower() for s in L]
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
#   File "<stdin>", line 1, in <listcomp>
# AttributeError: 'int' object has no attribute 'lower'
#
# 使用內建的isinstance函式可以判斷一個變數是不是字串:
#
# >>> x = 'abc'
# >>> y = 123
# >>> isinstance(x, str)
# True
# >>> isinstance(y, str)
# False
#
# 請修改列表生成式,通過新增if語句保證列表生成式能正確地執行:
L2 = [s.lower() for s in L1 if isinstance(s,str)]

相關推薦

雪峰python3.0-課後習題5高階特性

#5.1切片 # 利用切片操作,實現一個trim()函式,去除字串首尾的空格,注意不要呼叫str的strip()方法: def trim(s): if(s[:1]==" "):

雪峰Python習題集列表生成式

如果list中既包含字串,又包含整數,由於非字串型別沒有lower()方法,所以列表生成式會報錯: >>> [s.lower() for s in L] Traceback (mos

雪峰Python習題集資料型別和變數

請打印出一下變數的值: n=123 f=456.789 s1='Hello,world' s2='Hello,\'Adam\" s3=r'Hello,"Bart"' s4=r"'Hello, Lisa

《Python程式設計 從入門到實踐》習題答案--

# 8-1 訊息 : 編寫一個名為display_message() 的函式, 它列印一個句子, 指出你在本章學的是什麼。 # 呼叫這個函式, 確認顯示的訊息正確無誤。 def display_message(): print('本章學習內容:def(函式)') dis

爾雅 科學通史(吳國盛) 個人筆記及課後習題 2018 20世紀的科學技術變革

第十章 20世紀的科學技術變革 19世紀被譽為人類歷史上第一個科學的世紀 20世紀的兩次世界大戰,改變了世界的格局 10.1 理論科學的變革 20世紀最重要的四大理論模型 宇宙學中的大爆炸宇宙模型

《C語言的科學與藝術》課後習題答案(部分)

#include <stdio.h> #include "genlib.h" #include "simpio.h" void main() { int n,i,sum=0,j=1; printf("請輸入一個正整數: "); n=GetInteger(); for (i=1;i<=n;i

《C語言的科學與藝術》課後習題答案(部分)1

#include <stdio.h> #include <genlib.h> double RaiseRealToPower(double n,int k); main() { int k; printf("顯示10的K次方,k從-4~4:\n"); printf("------

《C語言的科學與藝術》課後習題答案(部分)

6.2//素數分解,並顯示各因子,列60,2*2*3*5 #include <stdio.h> #include <genlib.h> #include <simpio.h> #include <math.h> bool

演算法導論課後習題解析

3.1-1 分情況討論 當f(n)≥g(n)f(n)≥g(n)時,max(f(n),g(n))=f(n)max(f(n),g(n))=f(n),存在c1=12,c2=1,n0>0c1=12,c2=1,n0>0使得 0<c1(f(n)+g(n))≤f(n)≤c2(f(n)+g(n

資料庫系統概念(六版)課後習題答案-SQL(實踐習題

3.1 使用大學模式,用SQL寫出如下查詢。(建議在一個數據庫上實際執行這些查詢,使用我們在本書的Web網站db-book.com上提供的樣本資料,上述網站還提供瞭如何建立一個數據庫和載入樣本資料的說明。)Classroom(building, room_number, ca

笨木頭Cocos2dx 038戰爭迷霧效果 01_要探索,不要地圖全開!

這次我要介紹一個很好玩的東西——戰爭迷路。 (小若:喂!迷路?) 其實這麼解釋不太好解釋,我們舉個例子。魔獸爭霸相信大家都玩過,遊戲開始時,地圖上到處都是黑濛濛的一片,什麼都看不到,我們必須一邊走一邊探路。 (小若:我知道了!不就是地圖探索嘛!) 就是這樣,我們來看看

笨木頭Cocos2dx 039戰爭迷霧效果 02_先把地圖加進來

 錯過了前面章節? 沒關係,傳送門在這: 正文: 現在我們要載入一張TMX地圖,這張地圖有點複雜,大家打起精神。 (小若:吼!) 1. 建立TMX地圖 現在,開啟我們的Tiled地圖編輯器,新建一個地圖:【新建】->【新建檔案】,地圖寬為10,地圖高為10。

C++程式設計(第二版)譚浩強----程式題課後習題答案

2.#define _USE_MATH_DEFINES #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main() {

C++ Primer(五版)課後習題記錄 ——

第三章 字串、向量和陣列 練習3.2 利用 getline() 函式可以實現讀入一整行,而直接用 cin 輸入則只能讀取一個詞。 #include <iostream> #include <string> using nam

HTML5CSS3美化網頁元素課後作業

頁面總寬度為400px,整體背錄顏色線性漸變(#CAEFFE#FFFED)使用<h1>標籤排版文字標題,字型大小為18px,黑色文字陰影。使用<p>標籤排版文字正文,首行縮排為2em.行高為22px,首段第一個“美”字,字型大小為180x,加相顯示。黑色和白色文字陰影具體方向參考素材效

雪峰 python教程 課後題 切片利用切片操作,實現一個trim()函式,去除字串首尾的空格,注意不要呼叫str的strip()方法

#encoding:utf-8 #定義一個函式,用來去除字串首尾的空格 def trim(s):     '''首先判斷該字串是否為空,如果為空,就返回該字串,     如果不為空的話,就判斷字串首尾字元是否為空,     如果為空,就使用遞迴再次呼叫該函式trim(),否

雪峰 python教程 課後題改編利用map()函式,把使用者輸入的不規範的英文名字,變為首字母大寫,其他小寫的規範名字

原題目: # -*- coding: utf-8 -*- #輸入名字,變成首字母大寫,其他字母小寫的標準格式 def normalize(name): str1 = '' for i, ch in enumerate(name): if i

讀書筆記周誌華《機器學習》三版課後習題討<第一-緒論>

樣本 聲明 同時 body 集合 不管怎麽說 單個 clas 機器 雖然是緒論。。但是。。。真的有點難!不管怎麽說,一點點前進吧。。。 聲明一下答案不一定正確,僅供參考,為本人的作答,希望大神們能多多指教~ 1.1 表1.1中若只包含編號為1和4的兩個樣例,試給出相應的版本

C語言課後習題-譚浩強教授4版

第8章 指標 8-1 用指標實現,輸入三個整數,按由小到大順序輸出。 自己的程式碼 #include <stdio.h> void main() { int *p1, *p2, *p3,*temp; int a, b, c; while (scanf(

雪峰老師python教程——filter/sorted

filter Python內建的filter()函式用於過濾序列。 和map()類似,filter()也接收一個函式和一個序列。和map()不同的是,filter()把傳入的函式依次作用於每個元素,然後根據返回值是True還是False決定保留還是丟棄該元素。 注意到filter()函式返回的是一個Ite