最大函数忽略两位数
Max function ignoring double digits
我的代码很简单。它告诉你最大的数字,最小的数字,以及你在按下 'E' 键之前输入了多少个数字。但是,'max()' 函数不考虑位数大于 1 的数字。因此它会忽略 range(10,'infinity')。最低限度确实有效,所以我不知道为什么它正在做它正在做的事情。我的代码如下:
list1=[]
while len(list1)>-1:
i = input("Input a number: ")
list1.append(i)
if i == 'E':
break
del list1[-1]
max1 = max(list1)
min1 = min(list1)
c = len(list1)
print('Max: {}'.format(max1))
print('Min: {}'.format(min1))
print('Count: {}'.format(c))
print(list1)
示例:
Input a number: -10
Input a number: 3
Input a number: 4
Input a number: 1
Input a number: 3
Input a number: 5
Input a number: 41
Input a number: E
Max: 5
Min: -10
Count: 7
['-10', '3', '4', '1', '3', '5', '41']
抱歉格式混乱。我不知道如何格式化此网站中的文本,它会自动完成。
您输入的是字符串,所以比较的是字典顺序,而不是数字顺序。考虑
while True:
i = input("Input a number: ")
if i == 'E':
break
else:
list1.append(int(i))
通过调用 int
,我们将值转换为像 10
这样的整数,而不是字符串 "10"
,它实际上只是数字 1 后跟零,其概念是订单与您想要的不同。
我的代码很简单。它告诉你最大的数字,最小的数字,以及你在按下 'E' 键之前输入了多少个数字。但是,'max()' 函数不考虑位数大于 1 的数字。因此它会忽略 range(10,'infinity')。最低限度确实有效,所以我不知道为什么它正在做它正在做的事情。我的代码如下:
list1=[]
while len(list1)>-1:
i = input("Input a number: ")
list1.append(i)
if i == 'E':
break
del list1[-1]
max1 = max(list1)
min1 = min(list1)
c = len(list1)
print('Max: {}'.format(max1))
print('Min: {}'.format(min1))
print('Count: {}'.format(c))
print(list1)
示例:
Input a number: -10
Input a number: 3
Input a number: 4
Input a number: 1
Input a number: 3
Input a number: 5
Input a number: 41
Input a number: E
Max: 5
Min: -10
Count: 7
['-10', '3', '4', '1', '3', '5', '41']
抱歉格式混乱。我不知道如何格式化此网站中的文本,它会自动完成。
您输入的是字符串,所以比较的是字典顺序,而不是数字顺序。考虑
while True:
i = input("Input a number: ")
if i == 'E':
break
else:
list1.append(int(i))
通过调用 int
,我们将值转换为像 10
这样的整数,而不是字符串 "10"
,它实际上只是数字 1 后跟零,其概念是订单与您想要的不同。