"""
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
""" def inputInt(i):
"""
输入并判断输入的是否是整数,不是则重新输入,是则返回输入的整数
:param i:
:return:
"""
while True:
a = input("整数%d:" % i)
if a.isdigit():
a = int(a)
break
else:
print("输入错误,请重新输入")
return a def sort1(arr):
"""
利用数组排序输出
:param arr:
:return:
"""
print("输出一", end=":")
arr.sort()
print(arr) def sort2(arr):
"""
直接一个一个的比较
:param arr:
:return:
"""
print("输出二", end=":")
a = arr[0]
if a > arr[1]:
b = a
a = arr[1]
else:
b = arr[1]
if a > arr[2]:
c = a
else:
c = arr[2]
print(a, end=",")
if b > c:
print(c, end=",")
print(b)
else:
print(b, end=",")
print(c) def sort3(arr):
"""
利用sorted函数,排序字典的方式计算,这个函数用的很不习惯
sorted(d, key=d.get)的结果居然是d的key列表
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
可以看到其中第一个参数是可迭代对象,后面的参数都是具有默认值的,重点阐述如下:
1、cmp,比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0 2、key,主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序 3、reverse,是否反转,默认情况下不反转
:param arr:
:return:
"""
print("输出三", end=":")
d = {1: arr[0], 2: arr[1], 3: arr[2]}
for w in sorted(d, key=d.get):
print(d[w], end=",") def sort4(arr):
"""
自己写个冒泡排序,好久没写了
:param arr:
:return:
"""
print("\n输出四", end=":")
for i in range(0, len(arr)):
for j in range(i + 1, len(arr)):
if arr[i] > arr[j]:
a = arr[i]
arr[i] = a[j]
a[j] = a
print(arr) def sort5(arr):
"""
利用一个变量多个赋值来计算
:param arr:
:return:
"""
print("输出五", end=":")
if arr[0] > arr[1]:
arr[0], arr[1] = arr[1], arr[0]
if arr[0] > arr[2]:
arr[0], arr[2] = arr[2], arr[0]
if arr[1] > arr[2]:
arr[1], arr[2] = arr[2], arr[1]
print(arr) def sort6(arr):
"""
利用min函数来输
:param arr:
:return:
"""
print("输出六", end=":")
while len(arr) > 0:
a = min(arr)
arr.remove(a)
if len(arr) == 0:
print(a)
else:
print(a, end=",") def answer():
"""
先判断输入的是否是整数,然后再排序输出
:return:
"""
arr = []
for i in range(1, 4):
arr.append(inputInt(i))
sort1(arr)
sort2(arr)
sort3(arr)
sort4(arr)
sort5(arr)
sort6(arr) answer()

  

python学习——练习题(5)的更多相关文章

  1. python学习——练习题(10)

    """ 题目:暂停一秒输出,并格式化当前时间. """ import sys import time def answer1(): &quo ...

  2. python学习——练习题(9)

    """ 题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. http://www.runoob.com/python/python-date- ...

  3. python学习——练习题(6)

    """ 题目:斐波那契数列. 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21 ...

  4. python学习——练习题(4)

    """ 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...

  5. python学习——练习题(1)

    """ 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...

  6. python学习——练习题(13)

    """ 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个" ...

  7. python学习——练习题(12)

    """ 题目:判断101-200之间有多少个素数,并输出所有素数. 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外 ...

  8. python学习——练习题(11)

    """ 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1 1 2 ...

  9. python学习——练习题(8)

    """ 题目:输出 9*9 乘法口诀表. """ def answer1(): """ 自己用最普通的双重循环 ...

  10. python学习——练习题(7)

    """ 题目:将一个列表的数据复制到另一个列表中. """ import copy def validate(a, b): "&q ...

随机推荐

  1. selenium webdriver入门

    写在前面:最近在研究UI自动化测试的过程中,发现公司里通常用的是AutomanX框架,而这个框架实际上是基于selenium webdriver框架的,所以在编写测试用例时,很多语法都是直接使用sel ...

  2. Python探索记(16)——Python的可变类型与不可变类型

    # @Time : 2017/7/8 17:49 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : ...

  3. [ASP.NET] 修改web站点的默认编程语言

    当你点右键新建web窗体或者新建类的时候,默认编程语言是什么?有时候是C#,有时候是VB. 你找遍了所有配置,从web.config到iis express配置到sln文件,硬是没找到vs如何决定编程 ...

  4. 绕过SQL限制的方法

    突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“’”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以 ...

  5. virtual box 安装 centos 7 不能上网问题解决总结

    http://blog.csdn.net/u013264730/article/details/51146359 1.设置virtualbox 网络选项 [root@centos1 ~]# cat / ...

  6. 年终盘点:Java今年的大事记都在这里!

    在2017年即将结束之际,我们最好停下脚步来看看过去十二个月Java的发展情况.本文,笔者盘点了IT168企业级一年来对Java的跟踪报道. 这一年对Java来说是不容易的,从Java 9一再延期备受 ...

  7. Django之模板(Template)

    Django模板系统 官方文档 每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插 ...

  8. 剑指offer-第七章面试案例1(字符串转换为整型)

    //将字符串转换为整型 //思路:特殊的输入测试: //1,考虑字符串是否为空.2.字符串问空的时候的返回0,和真实的返回0直键的区别.3,字符串中出现0~9的字符处理 //4.字符串中出现*,¥等一 ...

  9. 理解SQL【转http://blog.jobbole.com/55086/】

    很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言) ...

  10. Yii CDbCriteria类中方法

    $criteria = new CDbCriteria; //select $criteria->select = '*';//默认* $criteria->select = 'id,na ...