python基础小白题4

举报
兔老大 发表于 2021/04/19 22:56:34 2021/04/19
【摘要】 题目031:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 ''' def tm031():     '''     【个人备注】:按照题意要求实现了就行     '''     week = ['monday','tuesday','wedne...

题目031:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

'''

def tm031():

    '''

    【个人备注】:按照题意要求实现了就行

    '''

    week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']

    inp = ''

    while 1:

        arr = []

        inp = inp+input('请输入一个字母:')

        for day in week:                    # 挑出满足输入的星期

            if inp==day[:len(inp)]:

                arr.append(day)

        if len(arr)==1:                     # 只剩一个,说明唯一,可以输出结果

            print('以%s开头的单词是:%s'%(inp,arr[0]))

            inp=''

        elif len(arr)==0:                   # 一个都没有说明输错了,需要重新输入

            print('没有%s开头的单词'%inp)

            inp=''

 

 

'''

题目032:按相反的顺序输出列表的值。

'''

def tm032():

    '''

    【个人备注】:之前已经做过了

    '''

    # 方法一

    a = [1,2,3,4,5]

    print(a[::-1])

    # 方法二

    a = [1,2,3,4,5]

    a.reverse()

    print(a)

    # 方法三

    a = [1,2,3,4,5]

    a.sort(reverse=True)

    print(a)

 

 

'''

题目033:按逗号分隔列表。

'''

def tm033():

    '''

    【个人备注】:一开始没看懂题目项干啥,直接print(list)不就是逗号分隔么

    实际上题目的意思是,合并列表项,以逗号为间隔

    '''

    a = ['1','2','3','4','5']

    print(','.join(a))

 

 

'''

题目034:练习函数调用。

'''

def tm034():

    '''

    【个人备注】:没头没尾的一个题,之前的递归实际上就是函数的调用了。不写了。

    '''

    pass

 

 

'''

题目035:文本颜色设置。

'''

def tm035():

    '''

    【个人备注】:感觉不像是不是python的题。

    '''

    pass

 

 

'''

题目036:求100之内的素数。

'''

def tm036():

    '''

    【个人备注】:素数就是质数

    '''

    arr = [2]

    for i in range(3,100):

        for j in arr:

            if i%j==0:

                break

        else:

            arr.append(i)

    print(arr)

 

 

'''

题目037:对10个数进行排序。

'''

def tm037():

    '''

    【个人备注】:实际上考察的是排序。揣测了一下题意,写了两种解法

    '''

    # 方法1,python解法

    a = [1,5,7,3,2,4,9,10,6,8]

    a.sort()

    print(a)

    # 方法2,常规解法

    a = [1,5,7,3,2,4,9,10,6,8]

    b = [a[0]]

    for num in a[1:]:

        for i in range(len(b)):

            if num<b[i]:

                b.insert(i,num)

                break

        else:

            b.append(num)

    print(b)

 

 

'''

题目038:求一个3*3矩阵主对角线元素之和。

'''

def tm038():

    '''

    【个人备注】:思路比较简单,n*n的矩阵都可以用这个求解。

    '''

    a = [[1,2,3],[4,5,6],[7,8,9]]

    s = 0

    n = len(a)

    for i in range(n): # 左上到右下一条线

        s+=a[i][i]

    for i in range(n): # 右上到左下一条线

        s+=a[i][n-i-1]

    if n%2==1:         # 如果是奇数,删掉重复计算的中间点

        s-=a[n//2][n//2]

    print(s)

 

 

'''

题目039:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

'''

def tm039():

    '''

    【个人备注】:037题中刚写过。

    '''

    aaa = [1,5,8,14,28,39,60,89,134,324,612,900]

    b = 555

    for a in aaa:

        if b<a:

            aaa.insert(aaa.index(a),b)

            break

    else:

        aaa.append(b)

    print(aaa)

 

 

'''

题目040:将一个数组逆序输出。

'''

def tm040():

    '''

    【个人备注】:就是032题,重复了。

    '''

    pass

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/81749608

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。