为什么显示错误的号码?
why it's show up wrong number?
- 不是最大的数字*
- 如果我插入这些数字,例如 (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)
从表面上看,您正在尝试获取输入的最大值。在我看来,您的代码看起来完全错误,所以我会帮助您修复它。
首先,这是我的做法(抱歉 Stack Overflow 不允许我将其粘贴为代码):
现在,让我给你解释一下。
第 1 行,定义了一个函数,该函数将帮助我们将输入转换为数组,稍后将需要它。
第 2 行创建一个空列表,我们称之为 1st。
第 4 行用逗号分隔输入,并使用 for 循环将每个值作为 INTEGER 添加到 lst。
第 5 行 return 返回列表。
函数到此结束。接下来,我们定义2个关键变量。
第 7 行调用 input_to_list 函数并将 num 设置为我们输入的列表。
第8行设置最大值为0,和0基本一样。我没有用None的原因是因为None不是整数,所以会return后面一行的错误。
这就是定义的变量。接下来,我们执行一个获取最大值的循环。
第 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 行,我们打印它。
- 不是最大的数字*
- 如果我插入这些数字,例如 (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)
从表面上看,您正在尝试获取输入的最大值。在我看来,您的代码看起来完全错误,所以我会帮助您修复它。
首先,这是我的做法(抱歉 Stack Overflow 不允许我将其粘贴为代码):
现在,让我给你解释一下。
第 1 行,定义了一个函数,该函数将帮助我们将输入转换为数组,稍后将需要它。 第 2 行创建一个空列表,我们称之为 1st。 第 4 行用逗号分隔输入,并使用 for 循环将每个值作为 INTEGER 添加到 lst。 第 5 行 return 返回列表。
函数到此结束。接下来,我们定义2个关键变量。
第 7 行调用 input_to_list 函数并将 num 设置为我们输入的列表。 第8行设置最大值为0,和0基本一样。我没有用None的原因是因为None不是整数,所以会return后面一行的错误。
这就是定义的变量。接下来,我们执行一个获取最大值的循环。
第 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 行,我们打印它。