Python练习题 005:三个数字由大到小排序输出
【Python练习题 005】输入三个整数x,y,z,请把这三个数由小到大输出。
-----------------------------------------------------------------------
这题想想应该比较容易:无非是先获取3个数字,然后比大小,按顺序输出即可。不过在写代码的过程中遇到了个难题:因为担心输入时输入非指定的分隔符,需要指定多个分隔符(英文逗号、中文逗号、空格),但 str.split() 只接受1个分隔符。
上网搜索了下,发现可以用正则表达式解决这个问题,于是就有了 import re 这一行了。代码如下:
import re
x, y, z = re.split(',| |,| ', input('请输入3个数字,用逗号或空格隔开:'))
x, y, z = int(x), int(y), int(z)
maxNo = max(x, y, z)
minNo = min(x, y, z)
print(maxNo, x+y+z-maxNo-minNo, minNo)
早就知道正则表达式很强大,但因为太难了,一直没敢碰啊…… 日后一定得好好研究下这部分内容!
【2016-10-14 更新】------------------------------------------------------------
坐地铁,手机里读了篇文章,看到了 str.sort() 这个方法,觉得可以用来解这题。思路是:用 re.split() 得到 3 个字符型数字的列表,把字符转换为数字,排下序,然后 print() 不就都解决了吗?代码如下:
import re
lst = re.split(',| |,| ', input('请输入3个数字,用逗号或空格隔开:'))
for i in range(len(lst)):
lst[i] = int(lst[i])
lst.sort()
print(lst)
果然简单很多啊~~~
++++++++++++++++++++++++++++++++++++++
Python练习题 005:三个数字由大到小排序输出的更多相关文章
- 数据结构:堆排序 (python版) 小顶堆实现从大到小排序 | 大顶堆实现从小到大排序
#!/usr/bin/env python # -*- coding:utf-8 -*- ''' Author: Minion-Xu 小堆序实现从大到小排序,大堆序实现从小到大排序 重点的地方:小堆序 ...
- 37-Arrays.sort() 由大到小排序 和 对象数组排序
1. 由大到小排序: 2. 对象数组排序: 1. 由大到小排序: 注意:必需是Integer 类型的数组!!! 方法一: import java.util.Arrays; import java.ut ...
- 从键盘录入输入3 个数num1,num2,num3,按从大到小进行输出
本题分别使用嵌套分支语句以及三目运算符来实现,两种方法,可以对比看看. import java.util.Scanner; /** * 从键盘录入输入3 个数a,b,c,按从大到小进行输出 * @au ...
- 三道习题(1、将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别。 #输入格式:按字典序由小到大输入若干个单词,每个单词占一行,以end结束输入。)
#coding=gbk ''' 1.将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别. #输入格式:按字典序由小到大输入若干 ...
- hashmap先按照value从大到小排序,value相等时按照key从小到大排序
hashmap先按照value从大到小排序,value相等时按照key从小到大排序. [2]是从小到大排序,在[2]代码基础上交换o1,o2位置即可. 代码中用到[1]中提到的在value相等时再比较 ...
- 查看进程,按内存从大到小 ,查看进程,按CPU利用率从大到小排序
查看进程,按内存从大到小 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "% ...
- 【C++】数组-整数从大到小排序
1.实现过程 定义整型数组src,长度为10,初始化为{11,12,47,24,49,69,90,89,18,39}.之后用嵌套for循环比较相邻两个元素的大小,如果前一个元素大于后一个,不做任何操作 ...
- 【C++ 字符串题目】 输入三个人名,按字母顺序排序输出
题目来源:https://acm.ujn.edu.cn Problem A: [C++ 字符串] 输入三个人名,按字母顺序排序输出 Time Limit: 1 Sec Memory Limit: 1 ...
- java Script 用if else 实现从大到小指定输出,升序排列
我只是一个小白 各位大神看到不要介意 var a = Number(prompt("请输入你需要排列的第一个数字")) var b = Number(prompt("请输 ...
随机推荐
- IDEA2019.3激活
1 下载: 1.1 下载安装文件 https://blog.csdn.net/Beuty_Chen/article/details/103804886 1.2 下载激活补丁 链接 ...
- Android Weekly Notes Issue #428
Android Weekly Issue #428 Kotlin Flow Retry Operator with Exponential Backoff Delay 这是讲协程Flow系列文章中的一 ...
- Maven快速入门(四)Maven中的pom.xml文件详解
上一章,我们讲了Maven的坐标和仓库的概念,介绍了Maven是怎么通过坐标找到依赖的jar包的.同时也介绍了Maven的中央仓库.本地仓库.私服等概念及其作用.这些东西都是Maven最基本.最核心的 ...
- 【Gin-API系列】Gin中间件之异常处理(六)
本文我们介绍生产环境上如何通过捕捉异常recovery来完善程序设计和提高用户体验. Golang异常处理 golang 的异常处理比较简单,通常都是在程序遇到异常崩溃panic之后通过defer调用 ...
- 华为手机logcat中不显示log.e以下级别日志的解决方法
(1) 进入拨号界面输入:*#*#2846579#*#* (2) 进入“后台设置” ——>“LOG设置” (3) 点击选择“AP日志” (4) 部分手机可能需要重启.
- 如何建立一个完美的 Python 项目
原文地址:How to set up a perfect Python project 原文作者:Brendan Maginnis 译者:HelloGitHub-丫丫 校对者:HelloGitHub- ...
- npm 进阶命令知多少(一)
npm命令知多少(一) 前言 作为前端模块化扎展现形式的npm包,已经在前端开发中不可或缺,熟练掌握npm相关内容,也是前端开发者的一门必修课,那么除了npm publish这类常见内容之外,还有哪些 ...
- 高可用集群corosync+pacemaker之pcs安装使用
前文我们介绍了高可用集群corosync+pacemaker的集群管理工具crmsh的常用命令的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/tag/crms ...
- wfuzz 安装
wfuzz 安装 win10 下的wfuzz安装 fuzz下载 https://github.com/xmendez/wfuzz 安装遇到的问题 0x1报错 解决方法: 更新pip python -m ...
- 发送post请求
题目: http://123.206.87.240:8002/post/ Brup抓包 1.修改Get 为 POST 2.添加 Content-Type: application/x-www-form ...