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

 

posted @ 2018-09-30 16:30  Conner&sun  阅读(1583)  评论(0编辑  收藏  举报