ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python100例 我的实现展示(21-30例)

2021-01-02 19:58:19  阅读:188  来源: 互联网

标签:21 s1 30 print range test Python100 total exam


Python100例 我的实现展示(21-30例)

'''21、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上
都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。'''


def test_exam_21():
    total = 1
    x = 1
    for i in range(9, 0, -1):
        if i == 9:
            x = 2 * (1 + 1)
            total += x
        else:
            x = 2 * (x + 1)
            total += x
    print("第一天共摘了{0}个桃子。".format(str(total)))


'''22、两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他
不和x,z比,请编程序找出三队赛手的名单。(这道题不会,写的是自己做工逻辑处理的代码,而非完全用程序做的处理的代码)'''


def test_exam_22():  # 下方为菜鸟提供的实现方式
    for i in range(ord('x'), ord('z') + 1):
        for j in range(ord('x'), ord('z') + 1):
            if i != j:
                for k in range(ord('x'), ord('z') + 1):
                    if (i != k) and (j != k):
                        if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):
                            print('order is a -- %s\t b -- %s\tc--%s' % (chr(i), chr(j), chr(k)))

    """pa = {'a': '', 'b': '', 'c': ''}
    pb = ['x', 'y', 'z']
    for i in range(len(pb)):
        if pb[i] == 'x':
            pa['b'] = pb[i]
        elif pb[i] == 'y':
            pa['c'] = pb[i]
        else:
            pa['a'] = pb[i]
    print("三队参赛选手名单如下所示:")
    print(pa)"""


'''23、打印出如下图案(菱形):
   *
  ***
 *****
*******
 *****
  ***
   *'''


def test_exam_23():
    listx = [1, 3, 5, 7, 5, 3, 1]
    for i in range(1, 8):
        for j in range((i - 4).__abs__()):
            print(" ", end="")
        for x in range(listx[i - 1]):
            print("*", end="")
        print()


'''24、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。'''


def test_exam_24():
    s = int(input("请输入一个正整数x,程序将计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前x项之和。\n"))
    list_x = ['2/1']
    print(list_x[0])
    total = 2 / 1
    for i in range(1, s):
        x = list_x[i - 1].split('/')
        list_x.append(str(int(x[0]) + int(x[1])) + '/' + x[0])
        print(list_x[i])
        total += (int(x[0]) + int(x[1])) / int(x[0])
    print(list_x)
    print("输入的正整数为{0},程序将计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前{1}项之和为:{2}。".format(s, s, total))


'''25、题目:求1+2!+3!+...+20!的和。'''


def test_exam_25():
    total = 0
    for i in range(1, 20):
        t = 1
        for j in range(1, i + 1):
            t *= j
        total += t
    print('1! + 2! + 3! + ... + 20! = %d' % total)


"""26、利用递归方法求5!。"""


def test_exam_26():
    total = 1
    for i in range(1, 5):
        total *= i
    print('5! = %d' % total)


'''27、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。'''


def test_exam_27():
    s1 = input("请输入一个5个字符的字符串,程序将以相反顺序打印出来。\n")
    print(exchange(s1))


def exchange(s2):
    s = list(s2)
    for i in range(int(len(s)/2)):
        t = s[i]
        s[i] = s[len(s) - 1 - i]
        s[len(s) - 1 - i] = t
    return "".join(s)


'''28、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,
说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?'''


def test_exam_28():
    five_age = 10
    for i in range(5-1):
        five_age += 2
    print("第五个人{0}岁".format(five_age))


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


def test_exam_29():
    s1 = input("请输入一个不多于5位的正整数,程序将求它是几位数,并且逆序打印出各位数字。\n")
    x = int(s1)
    for i in range(4, -1, -1):
        if x % math.pow(10, i):
            print("输入的数是{0}位数,逆序打印的数字如下:".format(str(i+1)))
            break
    print(exchange(s1))


'''30、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。'''


def test_exam_30():
    s1 = input("请输入一个不多于5位的正整数,程序将求它是几位数,并且逆序打印出各位数字。\n")
    if int(s1) == int(exchange(s1)):
        print("输入的数为{0},该数逆序处理之后为{1},它是回文数。".format(s1, exchange(s1)))
    else:
        print("输入的数为{0},该数逆序处理之后为{1},它不是回文数。".format(s1, exchange(s1)))

if __name__ == '__main__':

    # test_exam_21()
    # test_exam_22()
    # test_exam_23()
    # test_exam_24()
    # test_exam_25()
    # test_exam_26()
    # test_exam_27()
    # test_exam_28()
    # test_exam_29()
    test_exam_30()

标签:21,s1,30,print,range,test,Python100,total,exam
来源: https://blog.csdn.net/supassxu/article/details/112115748

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有