美文网首页
Python3.x 基础练习题100例(31-40)

Python3.x 基础练习题100例(31-40)

作者: youcans | 来源:发表于2021-02-27 19:37 被阅读0次

    练习31:

    题目:
    请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
    分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
    程序:

    letter = input("please input:")
    
    # while letter  != 'Y':
    
    if letter == 'S':
        print('please input second letter:')
        letter = input("please input:")
        if letter == 'a':
            print('Saturday')
        elif letter == 'u':
            print('Sunday')
        else:
            print('data error')
    
    elif letter == 'F':
        print('Friday')
    
    elif letter == 'M':
        print('Monday')
    
    elif letter == 'T':
        print('please input second letter')
        letter = input("please input:")
    
        if letter == 'u':
            print('Tuesday')
        elif letter == 'h':
            print('Thursday')
        else:
            print('data error')
    
    elif letter == 'W':
        print('Wednesday')
    else:
        print('data error')```
    

    输出结果:

    please input:F
    Friday
    

    练习32:

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

    a = ['one', 'two', 'three']
    for i in a[::-1]:
    print(i)
    

    输出结果:

    three
    two
    one
    

    练习33:

    题目:
    按逗号分隔列表。
    程序:

    L = [1, 2, 3, 4, 5]
    s1 = ','.join(str(n) for n in L)
    print(s1)
    

    输出结果:

    1,2,3,4,5
    

    练习34:

    题目:
    练习函数调用。
    程序:

    def hello_world():
        print('hello world')
    
    def three_hellos():
        for i in range(3):
            hello_world()
    
    if __name__ == '__main__':
    three_hellos()
    

    输出结果:

    hello world
    hello world
    hello world
    

    练习35:

    题目:
    文本颜色设置。
    程序:

    class bcolors:
        HEADER = '\033[95m'
        OKBLUE = '\033[94m'
        OKGREEN = '\033[92m'
        WARNING = '\033[93m'
        FAIL = '\033[91m'
        ENDC = '\033[0m'
        BOLD = '\033[1m'
        UNDERLINE = '\033[4m'
    
    print(bcolors.OKBLUE + "成功的颜色字体?" + bcolors.ENDC)
    

    输出结果:

    成功的颜色字体?
    

    练习36:

    题目:
    求100之内的素数。
    程序:

    # 输出指定范围内的素数
    
    # 用户输入数据
    
    lower = int(input("输入区间最小值: "))
    upper = int(input("输入区间最大值: "))
    
    for num in range(lower, upper + 1):
        # 素数大于 1
        if num > 1:
            for i in range(2, num):
                if (num % i) == 0:
                    break
            else:
                print(num)
    

    输出结果:

    输入区间最小值: 1
    输入区间最大值: 100
    2
    3
    5
    7
    11
    13
    17
    19
    23
    29
    31
    37
    41
    43
    47
    53
    59
    61
    67
    71
    73
    79
    83
    89
    97
    

    练习37:

    题目:
    对10个数进行排序。
    分析:
    可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
    程序:

    if __name__ == "__main__":
        N = 10
        # input data
        print("请输入10个数字:")
    
        l = []
        for i in range(N):
            l.append(int(input('输入要排序的数字:')))
        print("排序之前:")
        for i in range(N):
            print(l[i],end=" ")
        print()
       
        # 排列10个数字
        for i in range(N - 1):
            min = i
            for j in range(i + 1, N):
                if l[min] > l[j]: min = j
            l[i], l[min] = l[min], l[i]
        print('排列之后:')
        for i in range(N):
            print(l[i],end=" ")
    

    输出结果:

    请输入10个数字:
    输入要排序的数字:1
    输入要排序的数字:2
    输入要排序的数字:5
    输入要排序的数字:7
    输入要排序的数字:8
    输入要排序的数字:9
    输入要排序的数字:5
    输入要排序的数字:22
    输入要排序的数字:3
    输入要排序的数字:0
    排序之前:
    1 2 5 7 8 9 5 22 3 0
    排列之后:
    0 1 2 3 5 5 7 8 9 22 
    

    练习38:

    题目:
    求一个3*3矩阵主对角线元素之和。
    分析:
    利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
    程序:

    if __name__ == '__main__':
        a = []
        sum = 0.0
        for i in range(3):
            a.append([])
            for j in range(3):
                a[i].append(float(input("input num:")))
        for i in range(3):
            sum += a[i][i]
    print(sum)
    

    输出结果:

    input num:4
    input num:2
    input num:3
    input num:5
    input num:6
    input num:1
    input num:2
    input num:3
    input num:7
    17.0
    

    练习39:

    题目:
    有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
    分析:
    首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
    程序:

    if __name__ == '__main__':
        # 方法一 : 0 作为加入数字的占位符
        a = [1, 4, 6, 9, 13, 16, 19, 28, 40, 100, 0]
        print('原始列表:')
        for i in range(len(a)):
            print(a[i],end=" ")
        number = int(input("\n插入一个数字:"))
        end = a[9]
        if number > end:
            a[10] = number
        else:
            for i in range(10):
                if a[i] > number:
                    temp1 = a[i]
                    a[i] = number
                    for j in range(i + 1, 11):
                        temp2 = a[j]
                        a[j] = temp1
                        temp1 = temp2
                    break
        print('排序后列表:')
        for i in range(11):
            print(a[i],end=" ")
    

    输出结果:

    原始列表:
    1 4 6 9 13 16 19 28 40 100 0
    插入一个数字:5
    排序后列表:
    1 4 5 6 9 13 16 19 28 40 100 
    

    练习40:

    题目:
    将一个数组逆序输出。
    分析:
    用第一个与最后一个交换。
    程序:

    if __name__ == '__main__':
        a = [9, 6, 5, 4, 1]
        N = len(a)
        print(a)
        for i in range(len(a) // 2):
            a[i], a[N - i - 1] = a[N - i - 1], a[i]
    print(a)
    

    输出结果:

    [9, 6, 5, 4, 1]
    [1, 4, 5, 6, 9]
    

    相关文章

      网友评论

          本文标题:Python3.x 基础练习题100例(31-40)

          本文链接:https://www.haomeiwen.com/subject/yhcnfltx.html