Python练习题

作者: IT小学生蔡坨坨 | 来源:发表于2020-12-06 19:27 被阅读0次
    # 作者:IT小学生蔡坨坨
    # 时间:2020/12/6 17:08
    
    # 1.提醒用户输入自己的英文名字,然后保存到字典中(以name为key),
    # 将用户输入的英文名字翻转,继续保存到刚才的字典中(以new_name为key),
    # 将字典中用户的正常的英文姓名赋值给变量real_name,
    # 告知客户“您的英文名字是:” + 变量,“您的英文名字翻转是:” + 字典里获取
    
    name = input('请输入您的英文名字:')
    dic = {'name': name}
    new_name = name[::-1]
    dic['new_name'] = new_name
    real_name = dic['name']
    print('"您的英文名字是:%s"' % real_name, ',''"您的英文名字翻转是:%s"' % dic['new_name'])
    
    # 运行结果:
    # 请输入您的英文名字:heson
    # "您的英文名字是:heson" ,"您的英文名字翻转是:noseh"
    
    # -*- coding:utf-8 -*-
    # 作者:IT小学生蔡坨坨
    # 时间:2020/12/6 17:24
    
    # 2.提醒用户依次输入数学、语文、英语、综合四门的成绩,按照输入的成绩排序,告诉用户“您的最高的一门成绩是:”xx (不用告诉用户是哪一科)
    math = int(input('请输入数学成绩:'))
    chinese = int(input('请输入语文成绩:'))
    english = int(input('请输入英语成绩:'))
    comprehensive = int(input('请输入综合成绩:'))
    ls = [math, chinese, english, comprehensive]
    # 排序方法1,sorted()函数返回一个新的list
    print("您的最高的一门成绩是:", sorted(ls)[-1])
    # 排序方法2,sort()函数对已存在的列表ls进行操作
    # ls.sort()
    # print("您的最高的一门成绩是:", ls[-1])
    
    # 运行结果
    # 请输入数学成绩:90
    # 请输入语文成绩:88
    # 请输入英语成绩:85
    # 请输入综合成绩:80
    # 您的最高的一门成绩是: 90
    
    # -*- coding:utf-8 -*-
    # 作者:IT小学生蔡坨坨
    # 时间:2020/12/6 18:03
    
    # 3.使用input让用户依次输入两个数字, 计算两个数字的和并显示.
    num1 = float(input('请输入第一个数字:'))
    num2 = float(input('请输入第二个数字:'))
    
    sum1 = num1 + num2
    print('两个数字的和为:', sum1)
    
    # 运行结果:
    # 请输入第一个数字:10
    # 请输入第二个数字:99.99
    # 两个数字的和为: 109.99
    
    # -*- coding:utf-8 -*-
    # 作者:IT小学生蔡坨坨
    # 时间:2020/12/6 18:08
    
    # 4.用python实现冒泡算法,给你一个包含若干值的列表,将他们从小到大排序输出(不能用sort或者sorted,自己用代码实现)
    # eg:
    # maopao([2,1,8,4,3,6])
    # 输出结果:[1,2,3,4,6,8]
    # 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,
    # 依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。
    
    
    def bubble_sort(ls):
        # 检测列表的数据个数
        n = len(ls)  # n=6
        # i为数据排序的轮次
        # 第一轮:i=0
        for i in range(n - 1):
            # j为列表数据的下标
            # 第一轮:①j=0 ②j=1 ③j=2 ④j=3 ⑤j=4
            for j in range(0, n - i - 1):
                # 比较相邻两个数的大小
                # 第一轮:①ls[0]>ls[1]:True ②ls[1]>ls[2]:False ③ls[2]>ls[3]:True ④ls[3]>ls[4]:True ⑤ls[4]>ls[5]:True
                if ls[j] > ls[j + 1]:
                    # 相邻两个数交换位置
                    # 第一轮:①[1,2,8,4,3,6] ②[1,2,8,4,3,6] ③[1,2,4,8,3,6] ④[1,2,4,3,8,6] ⑤[1,2,4,3,6,8],第一轮结束最大值在最右边
                    ls[j], ls[j + 1] = ls[j + 1], ls[j]
        # 输出排序后的数据列表
        print(ls)
    
    
    ls = [2, 1, 8, 4, 3, 6]
    bubble_sort(ls)
    # 运行结果:
    # [1, 2, 3, 4, 6, 8]
    
    

    相关文章

      网友评论

        本文标题:Python练习题

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