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