簡體   English   中英

如何在while循環中對列表進行排序

[英]how to sort a list in a while loop

我想編寫一個程序從用戶那里讀取數字,直到用戶輸入“0”

然后程序返回該字符串中最小的數字。 我在整理字符串時遇到問題。

到目前為止,這是我的代碼:

    while True:
    number = []
    number = input("Please enter a number ")

    if number == "0":
        break

number.sort()
x = number[0]
return x

你在每一步都覆蓋你的號碼,這是行不通的。 您應該跟蹤最小值:

min_value = None
while True:
    number = int(input("Please enter a number ")) # no type check here
    if number == 0:
        break

    if number < min_value:
        min_value = number

print(min_value)

您可以列出您輸入的數字並附加它們,然后使用numpy模塊找到最小值。 例如:

import numpy as np

 while True:
     number_list = []
     number = input("Please enter a number ")
     number_list.append(number)

     if number == "0":
     break

 number_array = np.array(number_list)
 minval = np.min(number_array[np.nonzero(number_array)])

這樣你就可以找到數組的最小值,不包括你最后輸入的“0”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM