Python 排序函数之“商品价格预算区间排序”
# 商品价格区间设置与排序"""
介绍:用户根据提示,输入价格预算(输入两个数),并按照提示输入编号(0,1,2)排列呈现商品价格,或返回。知识点:1、创建列表、遍历列表2、使用排列函数:xxx.sort(), xxx.reverse(), sorted(xxx), (xxx是可以替换的变量)3、函数ord(),字符转换ASCII码4、用旗帜跳出两层循环5、循环语句:while、for6、跳转语句:continue、break7、条件语句:if、elif、else8、两数交换不足(待改善):1、输入一个'空格'字符就是退出程序,不能输入多个'空格'字符,否者会因为分割函数而导致报错2、不能输入’回车‘字符,否侧会因为分割函数而导致报错(尝试改善无果)3、不能只输入一个数字,否则会因为分割函数而导致报错4、如果输入不在商品价格范围内的数,会打印NUL,不显示也没有提示,可以加以改正
"""flag_ord = 0 # 跳出两层循环旗帜while True:# 定义整数列表goods_data = [399, 4369, 539, 288, 109, 749, 235, 190, 99, 1000]# 打印整数列表print('以下是同一商品的所有价格:\n{}'.format(goods_data))# 带提示输入赋值num = input('请输入您的预算(最大和最小):')# 判断输入是否有字符输入(除空格外)for i in num:if ord(i) != 32 and ord(i) != 46 and (ord(i) < 48 or ord(i) > 57):print('请输入数字!!!')print(ord(i))# 跳出两层循环flag_ord = 1break# 截止本次循环,从下次循环开始if flag_ord == 1:flag_ord = 0continue# 输入'0'就退出程序if num == ' ':print('退出程序!!!')exit()# 分割成两个整数num = num.split()num_min = float(num[0])num_max = float(num[1])# 交换两数if num_min >= num_max:num_min = num_max + num_minnum_max = num_min - num_maxnum_min = num_min - num_max# 输入负数打印提示elif num_min < 0:print('请输入正整数!!!')continue# 调试程序# print(num_min)# print(num_max)while True:# 带提示输入赋值num = input('请选择排列类型: \n\t 1、降序 \n\t 2、升序 \n\t 0、返回 \n请选择编号:')# 逆序排列if num == '1':# 把商品价格逆序排列赋值goods_price = sorted(goods_data, reverse=True)# print(goods_price)# 打印预算范围内价格,并逆序排列print('商品价格降序排列:', end='')for i in goods_price:if float(i) <= num_max and float(i) >= num_min:print(i, end=' ')# 顺序排列elif num == '2':# 把商品价格顺序排列赋值goods_price = sorted(goods_data)# print(goods_price)# 打印预算范围内价格,并顺序排列print('商品价格升序排列:', end='')for i in goods_price:if float(i) >= num_min and float(i) <= num_max:print(i, end=' ')# 返回上一级elif num == '0':break# 提示输入有误else:print('输入有误!!!')continueprint() # 换行
运行结果:
创作日期:2022/5/9
Python 排序函数之“商品价格预算区间排序”相关推荐
- python编写列表排序函数_python序列列表怎么排序?
Python序列中的列表怎么排序? 1.sort方法排序原址排序list.sort(key=None,reverse=False(or True)) 当reverse=False时:为正向排序: 当r ...
- 如何用Python 求函数 y = sinx 在区间[0, pi/2]上的弧长
今天在高数课上老师讲到求光滑曲线弧长问题,老师自己想了一个例子: 求函数 y = sinx 在区间[0, pi/2]上的弧长 但是经过微分和积分发现没法求出确定值,百度后发现不可积,是椭圆积分,只能求 ...
- mysql数字大小排序函数_mysql按照数字大小排序的方法
mysql按照数字大小排序的方法 发布时间:2020-10-20 14:36:03 来源:亿速云 阅读:117 作者:小新 这篇文章主要介绍mysql按照数字大小排序的方法,文中介绍的非常详细,具有一 ...
- 用c语言编写一个排序函数,c语言 编写一个排序函数,实现对主函数中数组的升序排序....
满意答案 lsdiddepl91 推荐于 2017.05.23 采纳率:48% 等级:10 已帮助:319人 经典的两个排序: (1)选择排序 #include main() { int a[5 ...
- 排序函数c语言流程图,各种排序的流程图 大家帮忙弄一下
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdio.h" #include "stdlib.h" arrin(int *a) { in ...
- 14 | 排序优化:如何实现一个通用的、高性能的排序函数?
问题:平时的开发中,我们都是直接使用这些现成的函数来实现业务逻辑中的排序功能.这些排序函数是如何实现的吗?底层都利用了哪种排序算法呢?比如 C 语言中 qsort(),C++ STL 中的 sort( ...
- 14-排序优化:如何实现一个通用的、高性能排序函数?
几乎所有的编程语言都会提供排序函数,比如 C 语言中 qsort(),C++ STL 中的 sort().stable_sort(),还有 Java 语言中的 Collections.sort().在 ...
- 排序函数(sort、sorted、argsort、lexsort、partition、argpartition、searchsorted)
list.sort 通过对提供的数组进行就地修改来返回已排序的数组.因此,元素数组将被修改. numpy.sort(ndarray.sort与之类似) 使用numpy.sort函数可以对数组进行排序, ...
- Oracle 分组排序函数详解 (row_number、rank、dense_rank)
文章目录 1 概述 2 分类 2.1 排序函数 2.2 分组子句 1 概述 1. 完整格式(1) row_number() over(partition by 列1 order by 列2) 2. 三 ...
最新文章
- 独家 | 贝叶斯信念网络初探(附链接)
- AI只跟科技巨头有关?小公司如何在AI时代竞争?
- IBatis.Net学习笔记系列文章
- linux 获取内核线程数,如何从命令行获取Linux中的CPU /内核数量?
- 论文浅尝 | 基于知识图谱 Embedding 的问答
- 美女学霸直博中科院,本科武大王者全国16强,妥妥现实版“爽文女主”!
- C++算法八:快速排序
- chrome插件:提取页面数据
- 线路速度之实战***
- java基础数据类型包装类
- CF1399E2 Weights Division (hard version)
- AI头发笔刷_这么棒的AI插件,一定要偷偷藏好了不让总监知道……
- 对Linux下使用C++读写word文件的技术方案比较
- Hbase、elasticsearch整合中jar包冲突
- DeFi冰火两重天:数千项目,鲜有人用,存量厮杀如何撼动传统金融?
- 乔纳森-弗莱彻:被遗忘的搜索引擎之父
- 面试利器,精心整理了份Python数据分析,知识点高清速查表!
- 白领沉迷EXCEL式生存
- Linux修改系统时间、时区
- NSF 与NSR 与GR
热门文章
- FPGA IP核 串口实验 signaltap
- linux下tar.gz、tar、bz2、zip等命令小结
- 小红帽 oracle,linux 小红帽 一键安装ffmpeg
- Windows下尝试PHP7提示丢失VCRUNTIME140.DLL的问题解决
- linux环境下javacv视频抓图失败
- 一些简单统计计算函数的编写
- U盘“请将磁盘插入U盘”的问题/U盘0字节修复方法
- 同比增速创上市以来新低,云米科技何时能够走出小米的舒适圈?
- MATLAB-基于灰色神经网络的预测算法研究(订单需求预测)
- Spanky - beloved ~桜の彼方へ~ -full ver