# 商品价格区间设置与排序"""
介绍:用户根据提示,输入价格预算(输入两个数),并按照提示输入编号(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 排序函数之“商品价格预算区间排序”相关推荐

  1. python编写列表排序函数_python序列列表怎么排序?

    Python序列中的列表怎么排序? 1.sort方法排序原址排序list.sort(key=None,reverse=False(or True)) 当reverse=False时:为正向排序: 当r ...

  2. 如何用Python 求函数 y = sinx 在区间[0, pi/2]上的弧长

    今天在高数课上老师讲到求光滑曲线弧长问题,老师自己想了一个例子: 求函数 y = sinx 在区间[0, pi/2]上的弧长 但是经过微分和积分发现没法求出确定值,百度后发现不可积,是椭圆积分,只能求 ...

  3. mysql数字大小排序函数_mysql按照数字大小排序的方法

    mysql按照数字大小排序的方法 发布时间:2020-10-20 14:36:03 来源:亿速云 阅读:117 作者:小新 这篇文章主要介绍mysql按照数字大小排序的方法,文中介绍的非常详细,具有一 ...

  4. 用c语言编写一个排序函数,c语言 编写一个排序函数,实现对主函数中数组的升序排序....

    满意答案 lsdiddepl91 推荐于 2017.05.23 采纳率:48%    等级:10 已帮助:319人 经典的两个排序: (1)选择排序 #include main() { int a[5 ...

  5. 排序函数c语言流程图,各种排序的流程图 大家帮忙弄一下

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdio.h" #include "stdlib.h" arrin(int *a) { in ...

  6. 14 | 排序优化:如何实现一个通用的、高性能的排序函数?

    问题:平时的开发中,我们都是直接使用这些现成的函数来实现业务逻辑中的排序功能.这些排序函数是如何实现的吗?底层都利用了哪种排序算法呢?比如 C 语言中 qsort(),C++ STL 中的 sort( ...

  7. 14-排序优化:如何实现一个通用的、高性能排序函数?

    几乎所有的编程语言都会提供排序函数,比如 C 语言中 qsort(),C++ STL 中的 sort().stable_sort(),还有 Java 语言中的 Collections.sort().在 ...

  8. 排序函数(sort、sorted、argsort、lexsort、partition、argpartition、searchsorted)

    list.sort 通过对提供的数组进行就地修改来返回已排序的数组.因此,元素数组将被修改. numpy.sort(ndarray.sort与之类似) 使用numpy.sort函数可以对数组进行排序, ...

  9. 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. 三 ...

最新文章

  1. 独家 | 贝叶斯信念网络初探(附链接)
  2. AI只跟科技巨头有关?小公司如何在AI时代竞争?
  3. IBatis.Net学习笔记系列文章
  4. linux 获取内核线程数,如何从命令行获取Linux中的CPU /内核数量?
  5. 论文浅尝 | 基于知识图谱 Embedding 的问答
  6. 美女学霸直博中科院,本科武大王者全国16强,妥妥现实版“爽文女主”!
  7. C++算法八:快速排序
  8. chrome插件:提取页面数据
  9. 线路速度之实战***
  10. java基础数据类型包装类
  11. CF1399E2 Weights Division (hard version)
  12. AI头发笔刷_这么棒的AI插件,一定要偷偷藏好了不让总监知道……
  13. 对Linux下使用C++读写word文件的技术方案比较
  14. Hbase、elasticsearch整合中jar包冲突
  15. DeFi冰火两重天:数千项目,鲜有人用,存量厮杀如何撼动传统金融?
  16. 乔纳森-弗莱彻:被遗忘的搜索引擎之父
  17. 面试利器,精心整理了份Python数据分析,知识点高清速查表!
  18. 白领沉迷EXCEL式生存
  19. Linux修改系统时间、时区
  20. NSF 与NSR 与GR

热门文章

  1. FPGA IP核 串口实验 signaltap
  2. linux下tar.gz、tar、bz2、zip等命令小结
  3. 小红帽 oracle,linux 小红帽 一键安装ffmpeg
  4. Windows下尝试PHP7提示丢失VCRUNTIME140.DLL的问题解决
  5. linux环境下javacv视频抓图失败
  6. 一些简单统计计算函数的编写
  7. U盘“请将磁盘插入U盘”的问题/U盘0字节修复方法
  8. 同比增速创上市以来新低,云米科技何时能够走出小米的舒适圈?
  9. MATLAB-基于灰色神经网络的预测算法研究(订单需求预测)
  10. Spanky - beloved ~桜の彼方へ~ -full ver