Python語言程序設(shè)計(jì)基礎(chǔ)(第二版)嵩天等課后習(xí)題答案_第1頁
Python語言程序設(shè)計(jì)基礎(chǔ)(第二版)嵩天等課后習(xí)題答案_第2頁
Python語言程序設(shè)計(jì)基礎(chǔ)(第二版)嵩天等課后習(xí)題答案_第3頁
Python語言程序設(shè)計(jì)基礎(chǔ)(第二版)嵩天等課后習(xí)題答案_第4頁
Python語言程序設(shè)計(jì)基礎(chǔ)(第二版)嵩天等課后習(xí)題答案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第一章程序設(shè)計(jì)基本方法P29#1.1字符串的拼接

str1=input("請輸入一個(gè)人的名字:")

str2=input("請輸入一個(gè)地點(diǎn):")

print("世界這么大,{}想去{}看看。".format(str1,str2))1234#1.2整數(shù)序列求和

n=input("請輸入一個(gè)整數(shù)N:")

sum=0

foriinrange(int(n)):#或者調(diào)和函數(shù)eval(n)

print(i,end='')

sum=sum+i+1

print("1到N求和結(jié)果為:",sum)1234567#1.39*9乘法表

#版本一

foriinrange(1,10):

forminrange(1,i+1):

sum=i*m

ifm<i:

ifsum<10:

print(m,'*',i,"={}".format(sum),end='

')

else:

print(m,'*',i,'=',sum,end='')

else:

print(m,'*',i,'=',sum)

#版本二

foriinrange(1,10):

forjinrange(1,i+1):

print("{}*{}={:2}".format(j,i,i*j),end='')

print('')1234567891011121314151617#---------1.4計(jì)算1+2!+3!+4!+...+10!------------#

sum,tmp=0,1

foriinrange(1,11):

tmp*=i

sum+=tmp

print("1+2!+3!+4!+...+10!=",sum)123456#---------1.5猴子吃桃問題----------------------#

#list(range(5,0,-1))-----

[5,4,3,2,1]

n=1

foriinrange(5,0,-1):

n=(n+1)*2

#n=(n+1)<<1左移一位乘以2

print(n)123456#--------1.6健康食譜輸出------------------------#

diet=['西紅柿','土豆','雞蛋','黃瓜','青菜']

foriinrange(5):

forjinrange(5):

if(i!=j):

print(diet[i],diet[j],sep='炒')123456#--------1.7繪制五角星--------------------------#

fromturtleimport*

##fillcolor("red")

color('red','yellow')#color('線條顏色','填充顏色')

begin_fill()

whileTrue:

forward(200)

right(144)

ifabs(pos())<1:

break

end_fill()1234567891011#------1.8太陽花的繪制--------------------------#

fromturtleimport*

color('red','yellow')

begin_fill()

whileTrue:

forward(200)

left(170)

ifabs(pos())<1:

break

end_fill()

done()1234567891011第二章Python程序?qū)嵗馕?---------------溫度轉(zhuǎn)換程序1.1P35-------------------------#

TempStr=input("請輸入帶有符號的溫度值:")

ifTempStr[-1]in['F','f']:

C=(eval(TempStr[0:-1])-32)/1.8

print("華氏溫度{}轉(zhuǎn)換為攝氏度溫度是:{:.2f}C".format(TempStr,C))

elifTempStr[-1]in['C','c']:

F=eval(TempStr[0:-1])*1.8+32

print("攝氏溫度{}轉(zhuǎn)換為華氏溫度是:{:.2f}F".format(TempStr,F))

else:

print("輸入格式錯誤")12345678910#-----------------循環(huán)輸入----------------------------------#

TempStr=input("請輸入帶有符號的溫度值:")

whileTempStr[-1]notin['N','n']:

ifTempStr[-1]in['F','f']:

C=(eval(TempStr[0:-1])-32)/1.8

print("華氏溫度{}轉(zhuǎn)換為攝氏度溫度是:{:.2f}C".format(TempStr,C))

elifTempStr[-1]in['C','c']:

F=eval(TempStr[0:-1])*1.8+32

print("攝氏溫度{}轉(zhuǎn)換為華氏溫度是:{:.2f}F".format(TempStr,F))

else:

print("輸入格式錯誤")

TempStr=input("請輸入帶有符號的溫度值:")123456789101112#--------------------------正方形的繪制---------------------------------#im

importturtleast

t.pensize(3)

foriinrange(1,5):

t.fd(100)

t.setheading(90*i)

t.done()1234567#--------------------------六邊形的繪制---------------------------------#im

importturtleas

t

t.pensize(3)

fori

inrange(6):

t.fd(100)

t.seth(60+60*i)

t.done()1234567#--------------------------疊邊形的繪制---------------------------------#im

importturtleas

t

t.pensize(3)

fori

inrange(9):

t.fd(150)

t.seth(80+80*i)

t.done()1234567#--------------------------同切圓的繪制---------------------------------#im

importturtleas

t

t.pensize(3)

foriinrange(4):

t.circle(50+i*10)

t.done()123456#----------------------------長度轉(zhuǎn)換------------------#

#1米=39.37英寸

le=input()

ifle[-1]in['M','m']:

temp=eval(le[0:-1])*39.37

print("{:.3f}in".format(temp))

elifle[-2:]in['in','IN']:

temp=eval(le[0:-2])/39.37

print("{:.3f}m".format(temp))

else:

print("輸入格式錯誤")1234567891011#------------------------多彩蟒蛇的繪制---------------------------------#

importturtleast

week=['black','grey','darkgreen','gold','violet','purple','green','red']

defdrawSnake(r,angle,length):

t.seth(-40)

foriinrange(length):

t.pencolor(week[i%8])

t.circle(r,angle)

t.pencolor(week[(i+1)%8])

t.circle(-r,angle)

t.circle(r,angle/2)

t.fd(40)

t.circle(16,180)

t.fd(40*2/3)

t.setup(650,350)

t.penup()

t.fd(-250)

t.pendown()

t.pensize(25)

drawSnake(40,80,9)

t.done()123456789101112131415161718192021第三章基本數(shù)據(jù)類型

天天向上的力量

在一年中,如果每天進(jìn)步》》,那么一年下來會進(jìn)步到多少呢?

在一年中,如果每天退步》》,那么一年下來會倒退到多少呢?一年中每天提升0.001:1.44,一年中每天能力下降0.001:0.69

一年中每天提升0.005:6.17,一年中每天能力下降0.005:0.16

一年中每天提升0.01:37.78,一年中每天能力下降0.01:0.03

向上5天向下2天的力量:4.63。

工作日多努力每天的努力應(yīng)達(dá)到:0.019#1.1每天的改變在千分之一P74

importmath

dayup=math.pow((1+0.001),365)

daydown=math.pow((1-0.001),365)

print("一年中每天提升0.001:{:.2f},一年中每天能力下降0.001:{:.2f}".format(dayup,daydown))

123456importmath

dayup=math.pow((1+0.005),365)

daydown=math.pow((1-0.005),365)

print("一年中每天提升0.005:{:.2f},一年中每天能力下降0.005:{:.2f}".format(dayup,daydown))1234#1.3每天的改變在百分之一

importmath

dayfactor=0.01

dayup=math.pow((1+dayfactor),365)

daydown=math.pow((1-dayfactor),365)

print("一年中每天提升0.01:{:.2f},一年中每天能力下降0.01:{:.2f}".format(dayup,daydown))123456#1.4在每年的365天中,每周工作5個(gè)工作日,工作日每天提升0.01,

#休息兩天,休息時(shí)每天下降0.01

dayup,dayfactor=1.0,0.01

foriinrange(365):

ifi%7in[6,0]:

dayup*=(1-dayfactor)

else:

dayup*=(1+dayfactor)

print("向上5天向下2天的力量:{:.2f}。".format(dayup))123456789#1.5問工作日多努力才能達(dá)到365天每天都工作的成績

defdaydayUp(df):

dayup=1.0

foriinrange(365):

ifi%7in[6,0]:

dayup*=(1-0.01)

else:

dayup*=(1+df)

returndayup

dayfactor=0.01

while(daydayUp(dayfactor)<37.78):

dayfactor+=0.001

print("每天的努力應(yīng)達(dá)到:{:.3f}".format(dayfactor))12345678910111213第四章程序的控制結(jié)構(gòu)P121#4.1猜數(shù)字游戲

k=5

x=eval(input("請輸入0~9之間的整數(shù)"))

tem=0

whilex!=k:

tem+=1

if(x>k):

print("遺憾,太大了")

else:

print("遺憾,太小了")

x=eval(input("請輸入0~9之間的整數(shù)"))

print("預(yù)測{}次,你猜中了".format(tem))123456789101112#4.2統(tǒng)計(jì)不同字符個(gè)數(shù)

c,n,b,o=0,0,0,0#c代表字符個(gè)數(shù)n代表數(shù)字個(gè)數(shù)b代表空格個(gè)數(shù)o代表其他字符個(gè)數(shù)

strs=input("請隨意輸入一行字符,包含字母,數(shù)字,空格或其他字符:")

forsinstrs:

iford('a')<=ord(s)<=ord('z')orord('A')<=ord(s)<=ord('Z'):

c+=1

eliford('0')<=ord(s)<=ord('9'):

n+=1

eliford('')==ord(s):

b+=1

else:

o+=1

print("包含字母{0}個(gè),數(shù)字{1}個(gè),空格{2}個(gè),其他字符{3}個(gè)".format(c,n,b,o))12345678910111213#4.3最大公約數(shù)的計(jì)算

m,n=eval(input("請輸入連個(gè)整數(shù),中間以逗號隔開"))

x,y=m,n

r=m%n

whiler!=0:

m,n=n,r

r=m%nprint("{}和{}的最大公約數(shù):{};最小公倍數(shù):{:.0f}".format(x,y,n,x*y/n))123456789#4.4猜數(shù)游戲續(xù)

importrandom

k=random.randint(0,100)

x=eval(input("請輸入0~100之間的整數(shù)"))

tem=0

whilex!=k:

tem+=1

if(x>k):

print("遺憾,太大了")

else:

print("遺憾,太小了")

x=eval(input("請輸入0~100之間的整數(shù)"))

print("預(yù)測{}次,你猜中了".format(tem))12345678910111213#4.5猜數(shù)字續(xù)

importrandom

whileTrue:

try:

k=random.randint(0,100)

x=int(input("請輸入0~100之間的整數(shù)"))

tem=0

whilex!=k:

tem+=1

if(x>k):

print("遺憾,太大了")

else:

print("遺憾,太小了")

x=eval(input("請輸入0~100之間的整數(shù)"))

except:

print("輸入內(nèi)容必須為整數(shù)!")

else:

print("預(yù)測{}次,你猜中了".format(tem))

break1234567891011121314151617181920#4.5羊車門問題思想:大量樣本以頻率代替概率

importrandom

a=['羊1','羊2','汽車']

times=1000*1000

#嘗試次數(shù)

first,change=0,0

foriinrange(times):

x=random.choice(a)

#正確答案

y=random.choice(a)

#參賽者選擇答案

ifx==y:

#堅(jiān)持最初的選擇

first+=1

else:

#改變選擇

change+=1

print("堅(jiān)持初心獲得勝利的概率:{:.2f}%".format(first/times*100))

print("改變初心獲得勝利的概率:{:.2f}%".format(change/times*100))1234567891011121314第六章組合數(shù)據(jù)類型P180

6.1要求

編寫程序,在16個(gè)字符大小寫和9個(gè)數(shù)字組成的列表中隨機(jī)生成10個(gè)8為密碼。#first1隨機(jī)密碼生成#導(dǎo)入random庫,后續(xù)生成0~61之間的隨機(jī)整數(shù)

importrandom

#新建列表類型存儲字符串和數(shù)字

strs=[]

#添加字符

foriin(65,97):

forjinrange(26):

strs+=chr(i+j)

#添加數(shù)字

foriinrange(10):

strs+=str(i)

#輸出10個(gè)8位的密碼

foriinrange(10):

print("密碼",i+1,":",end='')

forjinrange(8):

print(strs[random.randint(0,61)],end='')

print()123456789101112131415161718196.2重復(fù)元素判定

編寫一個(gè)函數(shù),接受列表作為參數(shù),如果一個(gè)元素在列表中出現(xiàn)了不知一次,則返回True,但不要改變原來列表的值。同時(shí)編寫調(diào)用這個(gè)函數(shù)和測試結(jié)果的程序。思路:利用集合的無重復(fù)性實(shí)現(xiàn)#second2重復(fù)元素判定

deftestReEle(lis):

tem=set(lis)

iflen(tem)==len(lis):

print('True')

else:

print('False')

defgetList():

lis=[]

ch=input("請輸入判定元素,回車表示結(jié)束:")

whilech!='':

lis.append(ch)

ch=input("請輸入判定元素,回車表示結(jié)束:")

testReEle(lis)

getList()1234567891011121314156.3文本字符分析

編寫程序接收字符串,按照字符出現(xiàn)頻率的降序打印字母。#文本字符分析

str=input("請輸入要分析的字符串,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論