一、判断是否为吉祥数字
方法一:数字转化为字符串再转化为集合去重
def lucky_num(num):
#判断是否为吉祥数字
for i in set(str(num)):
if str(i)=="8":
print("吉祥")
break
else:
continue
方法二:
def lucky_num(num):
return '8' in str(num)
二、给定任意字符串,查找其中每个字符的最后一次出现,并按每个字符最后一次出现的先后顺序依次存入列表。例如对于字符串'abcda'的处理结果为['b', 'c', 'd', 'a'],而字符串'abcbda'的处理结果为['c', 'b', 'd', 'a']。
方法一:
def reset_order(string):
a = str(string)
b = ""
c = {}
for i in a:
for j in range(1,len(string)):
if i==a[-j] and i not in b:
b=i+b
c[i]=[j]
break
else:
continue
return "".join(pd.DataFrame(c).T.rename(columns={0:"order"}).sort_values("order",ascending=False).index)
方法二:正则表达式‘(?!...)’
后向非界定
import re
print(re.findall(r'(\w)(?!.*\1)', s))
三、编写函数,计算形式如a + aa + aaa + aaaa + ... + a个a的表达式的值,其中a为小于10的自然数
方法一:
def sum_num_num(num):
i=0
s=0
for j in range(0,num):
i = num*(10**j)+i
s = s+i
return s
方法二:
def sum_num_n(num, n):
num = str(num)
result = sum(eval(num*i) for i in range(1,n+1))
return result
四、生成包含20个随机数的列表,然后删除其中的所有奇数
方法一:
a=[randrange(10) for i in range(20)]
b=[]
for i in a:
if i%2==1:
b.append(i)
else:
continue
print(a)
print(b)
方法二:
a=[randrange(10) for i in range(20)]
b=list(filter(lambda x: x%2==0, a))
五:有一个整数列表,要求调整元素顺序,把所有奇数都放到前面,偶数都放到后面。
方法一:
a=[randrange(10) for i in range(20)]
b=[]
c=[]
for i in a:
if i%2==1:
b.append(i)
else:
c.append(i)
print(b+c)
方法二:
a=[randrange(10) for i in range(20)]
def order_list(list):
return sorted(list,key=lambda item:item%2==0)
order_list(a)
六:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
import numpy as np
def add_1n(x):
s=0
if str(x).isdigit():
if np.mod(x,2)==0:
for i in range(2,x+2,2):
s = s + 1/i
elif np.mod(x,2)==1:
for i in range(1,x+2,2):
s = s + 1/i
else:
s = "请输入正整数"
else:
s = "输入错误"
return s
七、#有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
with open("a.txt","r") as f,open("b.txt","r") as g,open("c.txt","w") as fg:
word1 = f.read()
word2 = g.read()
word3 = list(word1+word2)
word3.sort()
word4 = "".join(word3)
fg.write(word4)
print(word4)
八、#从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
a = input("please input a word:")
b = str(a).upper()
with open("text.txt","w") as f:
f.write(b)
九、#从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止
with open("text.txt","w") as f:
a = input("please input a word:")
while a !="#":
f.write(a)
a = input("please input a word:")
十、计算字符串中子串出现的次数。
#a = input("请输入总文本:")
#b = input("请输入子串:")
a = "aaaaajsdjsdjjsdd"
b = "dj"
print(a.count(b))
十一、字符串日期转换为易读的日期格式
from dateutil import parser
a = "Apr 24 2018 11:56AM"
b = parser.parse(a)
print(b)