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

 

 
 
 
 
 
posted on 2019-05-12 22:37  腿短毛不多  阅读(104)  评论(0编辑  收藏  举报