python 題庫1


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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM