1. 生成一個1到50的大字符串,每個數字之間有個空格,例如1 2 3 4 ……50
解題思路:
(1)聲明一個空字符串變量用於保存生成的字符串
(2)使用for循環+range()函數生成一個1到50 的字符串
(3)存儲字符串處理,每個字符串后面+1,注意,當字符串等於50時后面沒有空格,需要進一步處理
代碼:
#encoding=utf-8 result = "" for i in range(1,51): if i==50: result=result+str(i) else: result=result+str(i)+" " print result
2. 動態輸入一個句子,統計句子中有幾個數字。
解題思路:
(1)使用raw_input()函數實現動態輸入一個句子
(2)聲明一個int類型變量用於統計句子中數字個數
(3)循環遍歷判斷句子中的內容是否是數字:
判斷方法有以下幾種:ord()編碼函數、int()類型判斷函數、使用in成員運算符判斷、 isdigit()函數、isinstance()函數等。
實現代碼如下:
#1.使用while循環+成員運算符in實現 content=raw_input("輸入字符串:".decode("utf-8").encode("GBK")) result = 0 index =0 while index<=len(content)-1: //如果輸入句子(字符串)的索引值小於等於句子長度減1,執行下面語句 if content[index] in "0123456789": //如果字符串索引值包含數字,執行下面語句 result+=1 //返回結果+1 index+=1 //索引+1 print result
#2.使用while循環+isdigit()函數實現
content=raw_input("輸入字符串:".decode("utf-8").encode("GBK"))
result = 0
index =0
while index<=len(content)-1:
if content[index].isdigit():
result+=1
index+=1
print result
#3.使用for循環+isinstance()函數
content=raw_input("please input a num:")
result=0
for i in content:
try:
if isinstance(int(i),int):
result+=1
except ValueError:
print u"不是數字"
print result
#4.使用for循環+int()進行類型判斷
content=raw_input("please input a sentence:")
result=0
for i in content:
try:
if int(i):
result+=1
except ValueError :
#print "Value is not num!"
pass
print result
#5.使用for循環+ord()編碼函數判斷
content=raw_input("please input a sentence:")
result=0
for i in content:
if 48<=ord(i)<=57:
result+=1
print result
3.把一個文件中包含數字的所有行,篩選存到一個新文件中。
#encoding=utf-8 import re def Handfile(): new_list=[] #定義一個列表,用於存儲文件中包含數字的所有行 with open(r"E:\test\a.txt","r") as fp: contentList=fp.readlines() for line in contentList: #print(line.strip()) if re.search("\d+",line): print(line.strip()) new_list.append(line) #print(new_list)
#把包含數字的所有行已列表的方式寫入另一個文件中 with open(r"E:\test\a_1.txt","w") as fp: fp.writelines(new_list) Handfile()
4.把一個文件的所有行倒序輸出。倒序輸出后存到一個新文件中。
#encoding=utf-8 def Handfile(): new_list=[] with open(r"E:\test\a.txt","r") as fp: contentList=fp.readlines() for line in contentList[::-1]: print(line.strip()) new_list.append(line) print(new_list) with open(r"E:\test\a_2.txt","w") as fp: fp.writelines(new_list) Handfile()