最大和最小实现中的逻辑错误?

2024-09-28 13:25:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道有一个minmax语法,但我只是想自己用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)

Tags: 代码inltgtforlenif语法
1条回答
网友
1楼 · 发布于 2024-09-28 13:25:12

您不需要嵌套的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

相关问题 更多 >

    热门问题