最大和最小实施中存在逻辑错误?

时间:2019-09-05 10:12:22

标签: python minmax

我知道有一个max max语法,但是我只是想自己使用if编写,但是我编写的代码不断返回0 0,我的错误在哪里? 该程序应该从空格输入的数字中打印出大数和最小数

user = input(" :) ")

user = user.split(' ')

lt = 0
gt = 0
gtn = 0
ltn = 0

for i in user:
    for j in range(0, len(user)):
        if int(i) < int(user[j]):
            lt += 1
        elif int(i) > int(user[j]):
            gt += 1
        else:
            pass
    if lt == len(user):
        ltn = i
    elif gt == len(user):
        gtn = i

print(gtn, ltn)

1 个答案:

答案 0 :(得分:0)

您不需要嵌套的for,也不需要那么多的if条件。您要做的就是将min初始化为一个很大的值,并将max初始化为一个很小的值,然后迭代一次。

nums = map(int, input(" :) ").split())
min_n = float('inf')
max_n = -float('inf')

for n in nums:
    if n < min_n:
        min_n = n
    if n > max_n:
        max_n = n

print(min_n)
print(max_n)

示例输出:

:) 3 4 5 6 2 11 2 3 4 99 1 -1
-1
99