簡體   English   中英

從用戶獲取整數輸入以計算Python函數

[英]Taking integer inputs from user to compute Python function

我有下面的函數,並且我試圖對其進行修改,以便它從用戶那里接收Input參數“ n”。

def difference(xs):
    min_elem = xs[0]
    max_elem = xs[0]
    max_diff = -1

    for elem in xs[1:]:
        min_elem = min(elem, min_elem)
        if elem > max_elem:
            max_diff = max(max_diff, elem - min_elem)
            max_elem = elem

    return max_diff

當前,它在數組中找到最大差異。 但是,我想要一個可以執行的功能:

difference(n, xs)

意思是,給定一個數字n(例如n = 5),如下所示:

difference(5, [1,2,3,4,5])

該函數應簡單地逐行打印出數組編號,然后輸出該函數計算出的差值。

您可以執行以下操作。 只需再添加一個函數difference_with_input ,它將從用戶那里獲取輸入,並使用輸入的內容調用已編寫的函數。


def difference(xs):
    min_elem = xs[0]
    max_elem = xs[0]
    max_diff = -1

    for elem in xs[1:]:
        min_elem = min(elem, min_elem)
        if elem > max_elem:
            max_diff = max(max_diff, elem - min_elem)
            max_elem = elem

    return max_diff

def difference_with_input(n):
    vals = []
    for i in range(1, n+1):
        vals.append(int(input("Enter value {0} : ".format(i))))
    print(difference(vals))

difference_with_input(5)



輸出:

Enter value 1 : 2
Enter value 2 : 1
Enter value 3 : 3
Enter value 4 : 4
Enter value 5 : 5
4

暫無
暫無

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

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