首页 > 其他 > 详细

0512--习题

时间:2019-05-12 23:35:32      阅读:151      评论:0      收藏:0      [点我收藏+]
#16、实现字符串的replace方法
‘‘‘
def replace(s,old_str,new_str):
    result =""
    for i in range(len(s)):
        if s[i:i+len(old_str)]==old_str:
            result +=new_str
        else:
            result +=s[i]
    return result
print(replace(‘this‘,‘is‘,‘ewo‘))
‘‘‘

#17、实现字符串的split方法
‘‘‘
def split(s,str=" "):
    result =[]
    index =0
    for i in range(len(s)):
        if s[i:i+len(str)]==str:
            result.append(s[index:i])
            index =i+len(str)
    result.append(s[index:i])
    return result
print(split(‘this is string example‘))
‘‘‘

#18、实现字符串的strip方法
‘‘‘
def strip(s,str=" "):
    result =""
    for i in range(len(s)):
        if s[i]!=str:
            result +=s[i:]
            break
    for j in range(len(result)-1,0,-1):
        if result[j]!=str:
            result =result[:j+1]
            break
    return result
print(strip(" this "))
print(strip(" a b c "))
‘‘‘

#19、报数问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),
#凡报到3的人退出圈子,问最后留下的是原来第几号的那位
‘‘‘
s=list(range(1,10))
def func(s,i=1):
    if not (isinstance(s,list) and len(s)>=3):
        return None
    while 1:
        result =[]
        for i in range(len(s)):
            if (i+1)%3==0:
                continue
            else:
                result.append(s[i])
        s=result
        if len(s)<3:
            break
    return s
for j in func(s):
    print(s.index(j)+1)
print(func(s))
‘‘‘
#20、由单个字母组成的list,从键盘读入两个整数m、n(n>m),
#打印出list[m,n]之间的字母能组成的所有n-m+1位不同的字符串
import random
import math

list = [a, b, c,d,e, f, d, h, f, g] 
m = int(input("输入整数m:"))
n = int(input("输入整数n:"))
while 1:
     if n <= m:
         print("输入的n要大于或等于m")
         n = int(input("请重新输入整数n:"))
     else:
         break

list_tmp = list[m:n] 
print(math.factorial(len(list_tmp))) 
result = [] 
while 1:
     random.shuffle(list_tmp)
   #将序列的所有元素随机排序
     str1 = "".join(list_tmp)
     if str1 not in result:
         result.append(str1)
     if len(result) == math.factorial(len(list_tmp)):
  #math.factorial算阶乘的方法
         break

print(result)

 

 
 
 
 
 

0512--习题

原文:https://www.cnblogs.com/wenm1128/p/10854088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!