python练习100题(3)

转自这里,侵权私删

  • 题目021:猴子吃桃问题

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

num = 1
for i in range(10-1):
     num = (num+1)*2
print(num)
  • 题目022:两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。有人向队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

import itertools
jia=['a','b','c']
yi=['x','y','z']
arr=list(itertools.permutations(yi,3))#列出乙队的所有排列
arr=[[jia[i]+a[i]for i in range(3)] for a in arr]
for i in arr:
    if 'ax' in i:
        pass
    elif 'cx' in i or 'cz' in i:
        pass
    else:
        print(i)

题目023:

打印出如下图案(菱形):
在这里插入图片描述

num = 7

for i in range(num):
    blank = abs(num//2-i) #z注意不是num//(2-i)是num//2再减i,即7//2=3,3-i
    print(' '*blank+'*'*(num-blank*2))
  • 题目024:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
a,b,num=2,1,0
for i in range(20):
    num+=a/b
    a=a+b
    b=a-b
print(num)
  • 题目025:求1+2!+3!+…+20!的和。
s=0
t=1
for i in range(1,21):
    t=i*t
    s=s+t
print(s)
  • 题目026:利用递归方法求5!。
def fac(x):
    if x>1:
        return x*fac(x-1)
    else:
        return x
print(fac(5))
  • 题目027:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
def output(s,l):
    if l==0:
        return
    print(s[l-1])
    output(s,l-1)
s=input('please input string:')#input默认输入的是字符串
l=len(s)
output(s,l)

  • 题目028:有5个人坐在一起,

问第五个人多少岁?他说比第4个人大两岁。

问第4个人,他说比第3个人大两岁。

问第3个人,又说比第2个人大两岁。

问第2个人,说比第1个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多大?

def age(x):
    if x>1:
        return 2+age(x-1)
    else:
        return 10
print(age(5))

题目029:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

num=12345
s=str(num)
print(len(s))
print(s[::-1])#字符串不步长为-1表示从末尾扫描字符串,list倒序可以用list.reverse()
  • 题目030:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
num=12321
s=str(num)
for i in range(len(s)//2):
    if s[i]!=s[-i-1]:
        print(False)
        break
    else:
        print(True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值