python - 为什么它显示错误的数字?
问题描述
- 它没有显示最大的数字*
- 如果我插入这些数字,例如 (1,3,8,4,18,2,6,),它会打印 8 而不是 18
maximum=None
while True:
num= raw_input('Enter Number : ')
if num== 'done':
break
if num > maximum:
maximum=num
print ('max is', maximum)
解决方案
从它的外观来看,您正试图获得输入的最大值。在我看来,您的代码看起来完全错误,所以我会帮助您修复它。
首先,我会这样做(抱歉,堆栈溢出不允许我将其粘贴为代码):
现在,让我给你解释一下。
第 1 行定义了一个函数,该函数将帮助我们将输入转换为数组,稍后将需要该函数。第 2 行创建了一个空列表,我们称之为 1st。第 4 行用逗号分割输入,并使用 for 循环将每个值作为 INTEGER 添加到 lst。第 5 行返回列表。
这就是函数的结束。接下来,我们定义 2 个关键变量。
第 7 行调用 input_to_list 函数并将 num 设置为我们输入的列表。第8行将最大值设置为0,与0基本相同。我没有使用None的原因是因为None不是整数,所以它会在后面的行中返回错误。
这就是定义的变量。接下来,我们执行一个获取最大值的循环。
第 10 行启动了一个 for 循环,该循环对列表中的每个项目 num 进行循环。第 11 行检查数组中项目的值是否大于最大值,即 0,即可能的最小值。如果 i 大于最大值,第 12 行将新的最大值设置为项目的值。因为它是一个 for 循环,所以它对循环中的每个项目都执行这个确切的条件。
示例:假设我们有一个列表 [1, 5, 3, 12, 9]。这就是程序所做的。是 1 > 0。是的。所以maximum = 1
。是 5 > 1。是的。所以maximum = 5
。是 3 > 5。不,所以maximum still = 5
。是 12 > 5。是的。所以maximum = 12
。是 9 > 12。不,所以maximum still = 12
。
因此,最大值必须为 12。
最后,在第 14 行,我们打印它。
推荐阅读
- terminal - brew upgrade MacOs 11.3.1 错误信息 curl: (7) Failed to connect to ghcr.io port 443: Bad file descriptor
- nginx - 想在 Nginx 中将 https://www.example.org 转为 https://example.org
- spring - Swagger @ApiParam 中的示例属性不起作用
- python - 测试变量的类型或实例/值
- html - React native - 将 HTML 转换为 PNG 并下载 Base64
- javascript - 如何在 Material UI 中的 DataGrid 中对齐 raw 的中心?
- c++ - 异步服务器,同步客户端 Asio C++
- django-rest-framework - 在 django 框架中迁移用户表时出现迁移错误
- php - Shopware 中使用的 custom/plugins/*/packages/* 模式是什么?
- datepicker - 来自 Element-Ui 的 firstDayOfWeek 的日期选择器全局定义可能吗?