首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python代码中的最大和最小值不正确

Python代码中的最大和最小值不正确
EN

Stack Overflow用户
提问于 2012-03-26 01:48:23
回答 5查看 1.6K关注 0票数 1

当我尝试运行这段代码时,我得到了不正确的最大值和最小值。有人能告诉我怎样才能修复它吗?我不允许使用'max‘和'min’。

更新:我已经更新了代码,但它仍然不能正常工作。更新2:代码现在可以工作了!非常感谢大家!

代码语言:javascript
运行
AI代码解释
复制
minimum=float('inf')
maximum=None
count=0
total=0
number=input ("Please enter the amount of numbers you wish to categorize: ")
while True:

    num = input("Enter a number: ")
    count+=1
    total+=num

    if num is None or num < minimum:
        minimum = num

    if num is None or num > maximum:
        maximum = num
    if count == number:
        break           

print "The average of your numbers is ", round ((total / count),2),"."
print 'The largest number is:', maximum,"."
print 'The smallest number is:', minimum,"."
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-26 01:52:24

您的minimummaximum的初始值和条件不正确。

代码语言:javascript
运行
AI代码解释
复制
minimum = None
maximum = None
 ...
    if minimum is None or num < minimum:
        minimum = num

    if maximum is None or num > maximum:
        maximum = num
...

您还可以通过检查count是否等于1而不是None的标识来修复此问题。

票数 5
EN

Stack Overflow用户

发布于 2012-03-26 02:01:42

除了Ignacio所说的,你还过早地打破了你的循环。您希望在中断前处理输入的最后一个数字,因此将if count == number: break块移动到最小/最大设置块之后。

票数 3
EN

Stack Overflow用户

发布于 2012-03-26 01:53:14

因为这是你应该学习的作业。下面是一些如何解决这个问题的想法:

一个错误是您在程序启动时将maximumminimum初始化为0。如果只输入正数,minimum将保留为0,但不是真正的最小值。要解决这种情况,您应该查看列表,或者将两个变量都初始化为一些唯一标识不会泄漏到计算中的无效初始值的值(我建议使用None)。在第一次迭代中,将minimummaximum都设置为第一个输入的值。

modfifications之后的:由于raw_input返回字符串,而不是数字,所以您正在比较字符串。您必须使用int将这些字符串转换为整数值,例如int(raw_input( ... ))。此外,你有一个严重缩进的break,我修复了它的缩进。

Other idea:既然你不能使用minmax,你可以直接使用

代码语言:javascript
运行
AI代码解释
复制
tmp=sorted([int(raw_input('Number: ')) for x in xrange(number)])
minimum, maximum = tmp[0], tmp[-1]

但我猜这会让你的任务失败:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9865702

复制
相关文章
使用分治思想 求数组中的最大和最小值
代码具体实现如下: package com.zuoyan.algorithm; public class FindMinMax { //Main函数进行测试 public static void main(String[] args) { int[] a=new int[]{1,10,2,19,365,-2,100,28}; MinMax minMax = getMinMax(a, 0,a.length-1); Syste
梅花
2020/09/28
1.5K0
LintCode 寻找旋转排序数组中的最小值题目分析代码
假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。
desperate633
2018/08/22
4710
LintCode 寻找旋转排序数组中的最小值 II题目分析代码
假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。
desperate633
2018/08/22
4000
获取map对象中的最大最小值
遇到的问题是获取map中的最高成绩和最低成绩 xxx.entrySet() 这里放的你的map
崔笑颜
2020/06/08
5.9K0
最火的 Python 代码格式化工具 Black
前段时间看了一下 MySQL 官方的开源项目,发现它点名了要用 "Block" 来格式化代码;难不成这货比 autopep8 还要出众?以下是 MySQL 官方的原文,于是我真的去试用了一下 Black 发现真香!
初代庄主
2023/04/20
9330
最火的 Python 代码格式化工具 Black
Java 查找 List 中的最大值、最小值Java 查找 List 中的最大值、最小值
Java 查找 List 中的最大值、最小值 java> List<Long> list = new ArrayList(); java.util.List<java.lang.Long> list = [] java> list.add(1L) java.lang.Boolean res1 = true java> list.add(2L) java.lang.Boolean res2 = true java> Collections.max(list) java.lang.Long res3 = 2 j
一个会写诗的程序员
2018/08/17
3.9K0
寻找旋转排序数组中的最小值
题意 假设一个旋转排序的数组其起始位置是未知的(比如 0 1 2 4 5 6 7 可能变成是 4 5 6 7 0 1 2)。 你需要找到其中最小的元素。 你可以假设数组中不存在重复的元素。 样例 给出 [4,5,6,7,0,1,2] 返回 0。 代码实现: 顺序查找 public class Solution { /** * @param nums: a rotated sorted array * @return: the minimum number in the arra
一份执着✘
2018/06/04
1.6K0
史上最烂的代码
其实本没有什么代码是 “史上最烂” 的,要有也只有 “史上更烂” 的,我想随便说说这个话题,也是源自豆瓣的一个讨论。事实上,系统复杂了被骂代码烂是一件司空见惯的事情。当然,也有一些短小的代码片段,就足以看出代码作者是个不怎么样的人。
四火
2022/07/15
6470
史上最烂的代码
求子数组的最大和
分析:输入一个整形数组,数组里有正数也有负数,数组中一个或连续的多个正数,求所有子数组的和的最大值。 当我们加上一个正数时,和会增加;当我们加上一个负数时,和会减少。如果当前得到的和是个负数,那么这个和在接下来的累加中应该抛弃并重新清零,不然的话这个负数将会减少接下来的和。 因此需采用DP思想,记录下当前元素之和(为其最优状态,既最大),将其与目前所得的最大和比较,若大于则更新,否则继续。状态的累加遵循这个过程:如果当前和小于0,则放弃该状态,将其归零。 扩展:数对之差的最大值。 1 //求子数组的最大和
猿人谷
2018/01/17
5680
JS基础测试: 下列说法中不正确的是​?
JSON:JavaScript 对象表示法(JavaScript Object Notation)。
舒克
2019/08/14
1.2K0
JS基础测试: 下列说法中不正确的是​?
Winform 中 DesignMode 返回值不正确的问题。
本文转载:http://blog.csdn.net/sabty/article/details/5325260
跟着阿笨一起玩NET
2018/09/18
1.6K0
算法图解:如何找出栈中的最小值?
前面我们学习了很多关于栈的知识,比如《动图演示:手撸堆栈的两种实现方法!》和《JDK 竟然是这样实现栈的?》,那么接下来我们再来刷一些关于栈的经典面试题以巩固学过的知识。
磊哥
2020/10/26
1.5K0
算法图解:如何找出栈中的最小值?
连续最大和
一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3
喜欢ctrl的cxk
2022/05/07
3970
连续子数组的最大和
题目1 连续子数组的最大和 描述: 输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 思路 最大和连续子数组一定有如下几个特点: 1、第一个不为负数 2、如果前面数的累加值加上当前数后的值会比当前数小,说明累计值对整体和是有害的;如果前面数的累加值加上当前数后的值比当前数大或者等于,则说明累计值对整体和是有益的。 步骤: 1、定义两个变量,一个用来存储之前的累加值,一个用来存储当前的最大和。遍历数组中的每个元素,假设遍
致Great
2018/04/11
8710
50 行 Python 代码,带你追到最心爱的人
人们一提到程序员第一反应就是:我知道!他们工资很高啊!但大部分都是单身狗,不懂得幽默风趣,只是每天穿格子 polo 衫的宅男一个。甚至程序员自己也这样形容自己:钱多话少死的早。程序员总是爱这样黑自己。大部分的程序员都是单身这是一个不争的事实,也是程序员一个世纪难题。但程序员并不是大部分都非常的呆板,相反我认知的很多程序员都非常幽默风趣。会利用自己所学的知识,为生活,为自己心爱的人带来一些惊喜。
猫咪编程
2018/07/21
5690
[剑指offer题解][Java]连续子数组的最大和
由 N 个整数元素(有正数也有负数)组成的一维数组 (A[0], A[1],…,A[n-1], A[n]),这个数组有很多连续子数组,那么其中数组之和的最大值是什么呢?
Rude3Knife的公众号
2019/08/06
9160
[剑指offer题解][Java]连续子数组的最大和
点击加载更多

相似问题

Python:每小时的最大和最小值

30

输入的最大和最小值

52

最大和最小值的时间戳

19

熊猫的最大和最小值(子)

34

最大和最小值numpy数组

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文