python程序练习题第三章_python核心编程-第三章-习题
1.這是python的語言特性,python先創建對象,在給變量賦值時,不需要定義變量的名稱和類型,它實際是用變量引用對象。變量類型在給變量賦值時自動聲明
2.原因類似變量無須聲明類型
3.python用下劃線作為變量前綴和后綴指定特殊變量,對解釋器有特殊意義,也是內建標識符所使用的特殊符號,故一般避免用下劃線作為變量的開頭和結尾
4.python一行可以書寫多個語句,多個語句間用";"分隔。但是為了良好的編程風格,不推薦這么做
5.python可以將一個語句分成多行書寫,行的末尾用反斜杠"\"標識。python一行語句最好不超過80字符,所以若一個語句過長,可以分成多行書寫。其他情況下,還是保持一個物理行寫一個邏輯行吧
6.變量賦值
(a)賦值語句 x, y, z = 1, 2, 3 ?在x中賦值1,y中賦值2,z中賦值3
(b)執行在z, x, y = y, z, x后,x值是3,y的值是1,z的值是2
7.標識符
int32;printf;print;_print;this;self;__name__;bool;true;type;thisIsAVar;R_U_ready;Int;True;if;do;access
是合法的python標識符
其中,print;if是python關鍵字。
8.
#!/user/bin/env python#-*- coding:utf-8 -*-
'makeTextFile.py -- create text file'
importos
ls=os.linesepwhileTrue:
fname= raw_input("請輸入要創建的文件名".decode("utf-8").encode("gbk"))#判斷文件是否已經存在,如果存在則重新輸入
ifos.path.exists(fname):print u"錯誤:'%s' 文件已經存在!" %fnameelse:breakall=[]print u"\n 請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n"
whileTrue:
entry= raw_input("輸入沒一行的內容吧:\n".decode("utf-8").encode("gbk"))#判斷輸入內容是否是退出字符,若是則結束輸入
if entry == '.':break
else:
all.append(entry)#創建文件,并以寫入模式打開
fobj = open(fname,'w')#將輸入的每行寫入文件中
fobj.writelines(['%s%s' % (x,ls) for x inall])
fobj.close()print u"成功創建!程序結束!"
9.操作系統:Windows 10 64位
os.linesep:'\r\n'
10.① try-except-else 替代
#!/user/bin/env python#-*- coding:utf-8 -*-
'makeTextFile.py -- create text file'
importos
ls=os.linesepwhileTrue:
fname= raw_input("請輸入要創建的文件名".decode("utf-8").encode("gbk"))#判斷文件是否已經存在,如果存在則重新輸入
try:
fobj=open(fname)exceptIOError:break
else:print u"錯誤:%s 文件已經存在" %fname
all=[]print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n"
whileTrue:
entry= raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk"))#判斷輸入內容是否是退出字符,若是則結束輸入
if entry == '.':break
else:
all.append(entry)#創建文件,并以寫入模式打開
fobj = open(fname,'w')#將輸入的每行寫入文件中
fobj.writelines(['%s%s' % (x,ls) for x inall])
fobj.close()print u"成功創建!程序結束!"
②os.path.exists()替換try-except-else
#!/user/bin/env python#-*- coding:utf-8 -*-
'readTextFile.py -- read and display text file'
importos#用戶輸入要打開的文件
fname = raw_input("請輸入文件名:")print
#嘗試以閱讀模式打開文件
ifos.path.exists(fname):
fobj= open(fname,'r')for eachline infobj:printeachline,
fobj.close()else:print "錯誤:文件不存在!"
11.
#!/user/bin/env python#-*- coding:utf-8 -*-
"readTextFile.py -- read and display text file"
#用戶輸入要打開的文件
fname = raw_input("Enter file name".decode("utf-8").encode("gbk"))print
#嘗試以閱讀模式打開文件
try:
fobj= open(fname,'r')exceptIOError,e:print "*** file open error:",eelse:#打印出文件內容
for eachline infobj:print eachline.strip('\n')
fobj.close()
給自己的提示:字符串的strip()方法用于移除字符串頭尾指定的字符,它返回移除指定字符后的新字符串
eg:
str = "11111Let's see how the strip() works.1111111"
print str.strip('1')
輸出:
Let's see how the strip() works.
12.修改后程序如下
#!user/bin/env python#-*- coding:utf-8 -*-
'read_or_makeTextFile.py -- read and display text file,or create text file'
importos
ls=os.linesepwhileTrue:
choise= raw_input("打開文件請輸入1,創建文件輸入2,退出輸入3:".decode("utf-8").encode("gbk"))if notchoise.isdigit():print u"請輸入數字"
elif int(choise) == 1:
fname= raw_input("請輸入文件名:".decode("utf-8").encode("gbk"))print
#嘗試以閱讀模式打開文件
ifos.path.exists(fname):
fobj= open(fname,'r')for eachline infobj:printeachline,
fobj.close()else:print "錯誤:文件不存在!"
elif int(choise) == 2:whileTrue:
fname= raw_input("請輸入要創建的文件名".decode("utf-8").encode("gbk"))#判斷文件是否已經存在,如果存在則重新輸入
ifos.path.exists(fname):print u"錯誤:'%s' 文件已經存在!" %fnameelse:breakall=[]print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n"
whileTrue:
entry= raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk"))#判斷輸入內容是否是退出字符,若是則結束輸入
if entry == '.':break
else:
all.append(entry)#創建文件,并以寫入模式打開
fobj = open(fname,'w')#將輸入的每行寫入文件中
fobj.writelines(['%s%s' % (x,ls) for x inall])
fobj.close()print u"成功創建!程序結束!"
elif int(choise) == 3:print u"程序將退出"
break
else:print u"請重新輸入"
13.修改后程序如下
1 #!user/bin/env python
2 #-*- coding:utf-8 -*-
3
4 'read_or_makeTextFile.py -- read and display text file,or create text file'
5
6 importos7 ls =os.linesep8 printos.getcwd()9 whileTrue:10 choise = raw_input("打開文件請輸入1,創建文件輸入2,編輯文件輸入3,退出輸入4:".decode("utf-8").encode("gbk"))11
12 if notchoise.isdigit():13 print u"請輸入數字"
14 elif int(choise) == 1:15 fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk"))16
17 print
18
19 #嘗試以閱讀模式打開文件
20
21 ifos.path.exists(fname):22 fobj = open(fname,'r')23 for eachline infobj:24 printeachline,25 fobj.close()26 else:27 print u"錯誤:文件不存在!"
28 elif int(choise) == 2:29 whileTrue:30 fname = raw_input("請輸入要創建的文件名".decode("utf-8").encode("gbk"))31 #判斷文件是否已經存在,如果存在則重新輸入
32 ifos.path.exists(fname):33 print u"錯誤:'%s' 文件已經存在!" %fname34 else:35 break
36 all =[]37 print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n"
38
39 whileTrue:40 entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk"))41 #判斷輸入內容是否是退出字符,若是則結束輸入
42 if entry == '.':43 break
44 else:45 all.append(entry)46 #創建文件,并以寫入模式打開
47 fobj = open(fname,'w')48 #將輸入的每行寫入文件中
49 fobj.writelines(['%s%s' % (x,ls) for x inall])50 fobj.close()51 print u"成功創建!程序結束!"
52 elif int(choise) == 3:53 fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk"))54 print
55
56 #嘗試以讀寫模式("r+")模式打開文件
57 ifos.path.exists(fname):58 fobj =open(fname)59 count =len(fobj.readlines())60 fobj.close()61 lines =[]62 for i in range(1,count):63 line = raw_input("請輸入修改后的每行的內容:".decode("utf-8").encode("gbk"))64 lines.append(line)65 whileTrue:66 save = raw_input("保存修改輸入1,不保存輸入2:".decode("utf-8").encode("gbk"))67 if notsave.isdigit():68 print u"請輸入數字1保存或者2不保存!!"
69 elif int(save) == 1:70 fobj = open(fname,'w')71 fobj.writelines(['%s%s' % (x,ls) for x inlines])72 fobj.close73 print u"修改成功!"
74 break
75 elif int(save) == 2:76 break
77 else:78 print u"錯誤!文件不存在!"
79
80 elif int(choise) == 4:81 print u"程序將退出"
82 break
83 else:84 print u"請重新輸入"
總結
以上是生活随笔為你收集整理的python程序练习题第三章_python核心编程-第三章-习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被动卖出是什么意思
- 下一篇: stl文件 python_STL文件,一