【问题标题】:i wrote this code to find the largest and smallest (int)number but it does not work我写了这段代码来找到最大和最小的(int)数,但它不起作用
【发布时间】:2022-01-01 08:49:12
【问题描述】:

我编写这段代码是为了获取几个 int 数字的输入,并编写其中最小和最大的,但代码不起作用。

numbers=[]    
num=input('enter your number')    
Int_num=int(num)    
Int_num.append(numbers)    
print('maximum number is:',max(numbers))    
print('minimum number is:',min(numbers))

【问题讨论】:

  • Int_num.append(numbers) -> numbers.append(Int_num)
  • 你追加一个空列表的数字
  • 您只会得到一个输入,然后将其附加到列表中。因此您的列表将只有一项,并且 max 和 min 的结果将是该数字。不仅如此,您还应该将附加代码替换为numbers.append(Int_num)
  • 欢迎来到 Stack Overflow! “不起作用”不足以描述您的问题。它实际上是做什么的?你有错误吗?还是它只是打印错误的值?或者是别的什么?请使用tour,阅读what's on-topic hereHow to Askquestion checklist。你也会发现这很有帮助:How to debug small programs.
  • 请搜索python.org/dev/peps/pep-0008了解PEP8

标签: python max min


【解决方案1】:

Int_num.append(numbers) 替换为numbers.append(Int_num.append)

要获得多个数字,您可以尝试:

numbers = []
last_number = input('Enter a number: ')
while last_number:
  numbers.append(int(last_number))

print(f'Max: {max(numbers)}, Min: {min(numbers)}')

【讨论】:

  • 这个答案是错误的,您的 while 循环条件始终为 True,这将导致无限循环。您必须编辑答案。
  • 空字符串被评估为False,因此您只需按 Enter 即可退出循环,无需输入任何其他内容。也许在某些系统上您可能需要添加.strip()
【解决方案2】:

您正在尝试将列表附加到整数,它应该是 numbers.append(Int_num),因此您将数字 Int_num 附加到列表 numbers

【讨论】:

  • 如果要输入一个数字序列,需要将每个数字分别转为整数,然后追加到数组中
  • 如果你想要一个整数序列,尝试使用它,它将输入中的每个数字转换为整数,并将结果存储到numbers列表中: num=input('输入你的number')(line break) numbers = [int(x) for x in num.split()]
【解决方案3】:

试试这个:

numbers=[]       
num=input('enter your number')

while num != "":
    Int_num=int(num)    
    numbers.append(Int_num)    
    num=input('enter your number') 

print('maximum number is:',max(numbers))    
print('minimum number is:',min(numbers))

【讨论】:

    【解决方案4】:

    问题是线 int_num.append(数字)
    它应该是 numbers.append(Int_num)

    另外,如果你放一个 while(True): 除了第一行,你可以在列表中添加很多数字(使用 ctrl+c 停止程序,如果它在 cmd 或 powershell 中运行)

    【讨论】:

    • 如果你使用ctrl+C停止程序,如何让它打印最大值和最小值?
    • @PranavHosangadi Alex 说“除了第一行”。
    【解决方案5】:

    为了得到一个数字序列:

    numbers = []
    while True:
      number = input('Enter a number or enter q to exit: ')
      if number == 'q':
          break
      else:  
          numbers.append(int(number))
    
    print(f'Max: {max(numbers)}, Min: {min(numbers)}')
    

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 2023-01-19
      • 2020-10-28
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多