Ⅰ 東北大學python語言程序設計慕課答案
你說的應該是屬於一個慕課學習平台上的內容,想要知道他的答案可以通過文章中的一些彩蛋來了解。
Ⅱ python 編程 求答案!2、3兩題
#!/usr/bin/envpython
#coding=utf-8
importre
,timedelta
importplatform
ifplatform.python_version()[:1]=='2':#判斷python版本是2還是3
importsys
reload(sys)
sys.setdefaultencoding('utf8')
classIdcard(object):
'''
>>>m=Idcard('225122198611134730')
>>>print(m.sex)
男
>>>m.birth
'1986-11-13'
>>>m.age
30
'''
def__init__(self,idcard):
self.idcard=idcard
iflen(idcard)==15:
sex,birth=idcard[-1:],'19'+idcard[6:12]
eliflen(idcard)==18:
sex,birth=idcard[-2:-1],idcard[6:14]
else:
raiseException('len(idcard)is{}(15/18)'.format(len(idcard)))
self._sex=int(sex)%2
self._birth=birth
@property
defsex(self):
returnu'男'ifself._sex%2elseu'女'
@property
defage(self):
now,bir=dt.now(),dt.strptime(self._birth,'%Y%m%d')
beforebirth=(now-dt(now.year,bir.month,bir.day)).days<0
returndt.now().year-int(self._birth[:4])-beforebirth
@property
defbirth(self):
returndt.strptime(self._birth,'%Y%m%d').strftime('%Y-%m-%d')
defalignment(str1,space,align='left'):
length=len(str1.encode('gb2312'))
space=space-lengthifspace>=lengthelse0
ifalign=='left':
str1=str1+''*space
elifalign=='right':
str1=''*space+str1
elifalign=='center':
str1=''*(space//2)+str1+''*(space-space//2)
returnstr1
defmain():
fname='customer.txt'
'''
withopen(fname,'w')asf:
f.write("""
鄭文傑225122198611134730
文萍225122198912094740
鄭媽媽225122590303476
鄭爸爸225122560506471
""")
'''
newf='ourcustomers.txt'
withopen(fname)asf:
s=f.readlines()
L,newL=[re.split(r's+',i.strip())foriins],[]
foriinL:
iflen(i)==2:
g=Idcard(i[1])
newL.append('{}{}{}'.format(
alignment(i[0],10),alignment(g.sex,8),g.age))
withopen(newf,'w')asf:
f.write(' '.join(newL))
print(' '.join(newL[:100]))
print('Customerdatahasbeenwriteinto{}'.format(newf))
if__name__=='__main__':
importdoctest
doctest.testmod()
main()
Ⅲ 求一份魚C工作室,python 課後測試題及答案!!
1,使用getopt。getopt()優化當前的功能函數:
[html]
#!/usr/bin/python
# -*- coding: utf-8 -*-
#coding=utf-8
import os,sys
import getopt
print sys.argv
CDROW='/home/zhouqian/test'
def cdWalker(CDROW,cdfile):
result=[]
for root,dirs,files in os.walk(CDROW):
result.append("%s %s %s" %(root,dirs,files))
print root
open(cdfile,'w').write('\n'.join(result))
def usage():
print '''pycdc 使用方式:
python cdays-3-exercise-1.py -d cdc -k 中國火
#檢索cdc中有沒有中國火字樣的目錄,
'''
try:
opts,args=getopt.getopt(sys.argv[1:],'hd:e:k:')
except getopt.GetoptError:
usage()
sys.exit()
if len(opts)==0:
usage()
sys.exit()
c_path=''
name=''
for opt,arg in opts:
if opt in('-h','--help'):
usage()
sys.exit()
elif opt=='-e':
if os.path.exists(arg):#判斷目標路徑是否存在
# cdWalker(CDROW,arg)
print "記錄光碟的位置是 %s" %arg
else:
print "不存在這樣的目錄"
elif opt=='-d':
c_path=arg
print c_path
cdWalker(CDROW,c_path)
elif opt=='-k':
if not c_path:
usage()
sys.exit()
else:
name=arg
for root,dirs,files in os.walk(c_path):
if root=='%s' %name:
print '您要找的文件在%s' %dirs
這是第一個題,大概做了2個小時吧,各種糾結啊,後面兩個正在做。中間遇到的問題總結:
函式的利用,os.path.walk,python字元集,getopt模塊的使用學習,os.path.exists()的利用,列表的對應關系等等
習題2 :關鍵詞-----》序列號問題:
[html]
#!/usr/bin/python
#coding=utf-8
import sys
def collect(file):
result={}
for line in file.readlines():
left,right=line.split()
if result.has_key(right):
result[right].append(left)
else:
result[right]=[left]
return result
if __name__=="__main__":
print sys.argv
if len(sys.argv)==1:
print 'usage:\tpython value_keys.py test.txt'
else:
result=collect(open(sys.argv[1],'r'))
for (right,left) in result.items():
print "%d %s => %s" %(len(left),right,left)
結果顯示:
[html]
root@zhou:/home/zhouqian/python# py value_keys.py test.txt
ssss
2 key3 => ['6', '33']
3 key2 => ['1', '2', '45']
3 key1 => ['4', '5', '13']
遇到的問題總結:
split的用法:line.split()就是分開出左右兩邊的值,在默認的情況下是以一個空格或者多個空格為分割符的,
has_key()的用法:是查看字典數據類型中有沒有這么一個關鍵字。上面可知result={}是初始化了一個字典的數據類型。
字典的一些用法:怎麼定義,怎麼賦值:result[right]=[left]或者result[right]=left,遍歷字典中所用
項,result.items(),遍歷字典的key值:result.keys(),遍歷字典的value值:result.values()
[html]
>>> dict={'chen':25,'zhou':24,'xiao':35}
>>> dict.values()
[25, 35, 24]
>>> dict.keys()
['chen', 'xiao', 'zhou']
>>> dict.items()
[('chen', 25), ('xiao', 35), ('zhou', 24)]
Ⅳ 《從問題到程序用python學編程和計算》誰有這課後答案
初學要看個人情況
非計算機專業沒基礎的話推薦《與孩子一起學編程》比較簡單,但是最好自己再找點練習題做。
有編程基礎的話那就看手冊。之前視頻教程里也配有《Python核心編程》
總之,選擇一本適合自己的看了多做練習才是關鍵。
Ⅳ 《python從入門到實踐》練習題有答案嗎
找不到,只找到找到幾道題目的答案
8-9 魔術師:創建一個包含魔術師名字的列表,並將其傳遞給一個名為show_magicians() 的函數,這個函數列印列表中每個魔術師的名字。8-10 了不起的魔術師:在你為完成練習 8-9 而編寫的程序中,編寫一個名為make_great() 的函數,對魔術師列表進行修改,在每個魔術師的名字中都加入字樣「theGreat」。調用函數 show_magicians() ,確認魔術師列表確實變了。想問下大神怎麼對魔術師列表進行修改同時又不使用新的列表,我修改了一次但是用了一個新列表的方法和原習題不符。
Ⅵ python語言程序設計基礎第二版第七章答案
應該是順序,循環和選擇結構 順序結構,選擇結構,循環結構 順序結構,選擇結構,循環結構(當型循環和... 大多數情況下,程序都不會是簡單的順序結構,而是順序、選擇、循環三種結構的復雜組合。 C語言中,...
Ⅶ Python核心編程(第二版)PDF和Python基礎教程(第二版)PDF
相關鏈接:網頁鏈接點擊進入然後下載即可。
Python介紹:
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/), 是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。
Python是純粹的自由軟體,源代碼和解釋器CPython遵循GPL(GNUGeneral Public License)協議。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
Python基本演算法:
Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。
Ⅷ python求答案
當然還有好多方法。
最直接的a.count('n')
Ⅸ 怎麼拿到梁勇那本python的所有課後答案
網上直接下載就有。
本書以問題驅動的方式對python程序設計進行綜合介紹。全書共分三個部分,首先介紹基本程序設計技術以及數據類型、變數、常量、簡單函數等內容,隨後利用抽象、封裝和多態性來了解面向對象程序設計,*後通過對數據結構和演算法的講解,循序漸進,掌握python程序設計。
書中引入實例解釋基本概念,同時提供大量不同難度的編程題,幫助讀者理解和鞏固。本書可作為高等院校相關專業的基礎教材,也可作為python語言及編程開發愛好者的參考資料。
Ⅹ python程序設計黃銳軍版,16面,練習1的答案有沒有,求
1.
def getArea(L,W):
area = L*W
print(area)
return area
2.
def getTime(s):
s = 5980
min = s//60
s_n = s%60
hour = min//60
min_n = min%60
print('%d時%d分%d秒'%(hour,min_n,s_n))
3.(1)False (4)False 其它都是True
優先計算括弧內、無括弧先not、然後and、最後or
4.一個序列截取時,包含左邊的數不包含右邊的數,如:下面的(-5,1)就等於-5<=x<1
for x in range(-5,1):
print(x)
5.(1)0 (2)0 (3)1 (4)0 (5)0 (6)1
第二題中not=應該寫為!=
and和or的運算邏輯其實只看左邊的Boolean值,如:
a and b語句,如果a為True,輸出b;反之,如果a為False,輸出a
a or b語句,如果a為True,輸出a;反之,如果a為False,輸出b