目录
79.字符串排序
80.猴子分桃
79.字符串排序
#79
list1=[]
str1=input('请输入第一个字符串:')
str2=input('请输入第二个字符串:')
str3=input('请输入第三个字符串:')
list1.extend([str1,str2,str3])
list1.sort()
print ('排序后的字符串为:',list1)
输出:
或者
list = []
for i in range(3):list.append(input("请输入字符串:"))
list.sort()
print ('排序后的字符串为:',list)
80.猴子分桃
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
猴子分桃,最少问题分析:问最少有多少只桃子,则岸上最后剩的桃子数目越小,则原岸上的桃子越少;假设最后岸上还剩4x只桃子,可以利用递归方法求解
num=int(input("输入猴子的数目:"))
def fn(n):if n==num:return(4*x) #最后剩的桃子的数目else:return(fn(n+1)*5/4+1)x=1
while 1:count=0for i in range(1,num):if fn(i)%4==0 :count=count+1if count==num-1:print("海滩上原来最少有%d个桃子" % int(fn(0)))breakelse:x=x+1
返回:
到这里你或许无法理解,怎么来的,那么咱们看个更通俗的吧
一个字 ———— 试
start,end,m1=0,100,0
while m1==0:end=end*2for i in range(start,end):m5=5*i+1if m5%4==0:m4=(m5/4)*5+1if m4%4==0:m3=(m4/4)*5+1if m3%4==0:m2=(m3/4)*5+1if m2%4==0:m1=(m2/4)*5+1breakstart=i
print("最少为:%d个桃子" % m1)
设从0到100试,找到那个满足的数