2019-12-29(134)

别说谁变了你拦得住时间么 提交于 2019-12-30 04:46:58

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)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!