191、生成一个变量名文件:文件内容在100行到999行之间,每行内容是一个变量,满足变量定义规则,字母或下划线开头,不能以数字开头,可以包含字母、数字、下划线
import random
import string
file_line_count=random.randint(100,999)
print("文件行数为:",file_line_count)
with open("d:\\2019\\1.txt","w") as fp:
for i in range(file_line_count): #行数循环
first_letter=random.choice(string.ascii_letters+"_")
other_letter=""
for j in range(5):
other_letter+=random.choice(string.ascii_letters+string.digits+"_")
content=first_letter+other_letter
fp.write(content+"\n")
file_line_count=random.randint(100,999)
print("文件行数为:",file_line_count)
with open("d:\\2019\\1.txt","a") as fp:
for i in range(file_line_count): #行数循环
first_letter=random.choice(string.ascii_letters+"_")
other_letter="".join(random.sample(string.ascii_letters+string.digits+"_",5))
content=first_letter+other_letter
fp.write(content+"\n")
195、一个列表的元素都是字符串,请按照每个字符串中第二个字符排序,输出排好序的列表
lst = ["a","hu","hhq","zhangsan","lisi","nanjing","W"]
def func(s):
if len(s)>1:
return s[1]
else:
return s
new_lst=sorted(lst,key=func,reverse=False)
print(new_lst)
196、有一个二维矩阵,请删除二维矩阵的第一列,并输出
l = [
[1,2,3],
[4,5,6],
[7,8,9]
]
#方法一
result=[]
for i in l:
i.remove(i[0])
result.append(i)
print(result)
#方法二
for i in range(len(l)):
del l[i][0]
print(l)
197、有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法。
l=['-', '-', '+', '+', '+','-', '+','-', '+','-','-']
#方法一
l_new=[]
for i in l:
if i=='+':
l_new.insert(0,i)
else:
l_new.append(i)
print(l_new)
#方法二
for i in range(len(l)):
if l[i]=='+':
l.insert(0,l.pop(i))
print(l)
198、两个有序列表,合并输出一个新的有序列表
lst_1 = [1,2,2,3,6,9]
lst_2 = [2,3,4,8,10]
result=lst_1+lst_2
result=sorted(result)
print(result)
199、 将一个列表的所有索引值和里面的所有数字求和。
l = [1,2,"a","b",[1,2],{"a":2,"b":4}]
result=0
for i in range(len(l)):
if isinstance(l[i],(int,float)):
result+=(i+l[i])
elif isinstance(l[i],list):
for j in l[i]:
if isinstance(j,(int,float)):
result+=(i+j)
elif isinstance(l[i],dict):
for k,v in l[i].items():
if isinstance(k,(int,float)):
result+=(i+k)
if isinstance(v,(int,float)):
result+=(i+v)
else:
result+=i
print(result)
200、 将一个列表中所有字符串的索引位置和字符串内容,放到一个字典中。
l = [1,2,"a","b",[1,2],{"a":2,"b":4}]
result={}
for i in range(len(l)):
if isinstance(l[i],str):
result[i]=l[i]
print(result)
202、一个字符串I am a boy,请依照如下规则转换为数字。abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9
s="I am a boy"
s=s.lower()
for i in s:
if i in "abc":
s=s.replace(i,"2")
elif i in "def":
s=s.replace(i,"3")
elif i in "ghi":
s=s.replace(i,"4")
elif i in "jkl":
s=s.replace(i,"5")
elif i in "mno":
s=s.replace(i,"6")
elif i in "pqrs":
s=s.replace(i,"7")
elif i in "tuv":
s=s.replace(i,"8")
elif i in "wxyz":
s=s.replace(i,"9")
print(s)
203、两个列表[1,3,5,7]和[2,4,6,8]合并为[1,2,3,4,5,6,7,8]
lst1=[1,3,5,7]
lst2=[2,4,6,8]
result=lst1+lst2
print(sorted(result))
204、[1,2,3,4,5,6,7,8],多次打印这个列表,每次打印前删除中间那个元素,直到最后剩一个元素。
lst=[1,2,3,4,5,6,7,8]
while True:
if len(lst)==1:
break
lst.remove(lst[len(lst)//2])
print(lst)
205、[6,2,11,1,4,9,5,7,8,20]将所有比6小的数字放到它的左边,大的放到6的右边。
lst=[6,2,11,1,4,9,5,7,8,20]
for i in range(len(lst)):
if lst[i]<6:
lst.insert(0,lst.pop(i))
print(lst)
206、使用递归的方式倒序打印这个列表[1,2,3,4,5,6]
l=[1,2,3,4,5,6]
def func(l,length):
if length==0:
return
print(l[length-1])
func(l,length-1)
func(l,len(l))
207、使用递归的方式正序打印这个列表[1,2,3,4,5,6]
l=[1,2,3,4,5,6]
def func(l,length):
if length==len(l):
return
print(l[length])
func(l,length+1)
func(l,0)
来源:CSDN
作者:猴子不想吃香蕉
链接:https://blog.csdn.net/Folivoraxue/article/details/103755077