簡體   English   中英

檢查列表理解中的總和

[英]Check sum in list comprehension

是否可以以相同的方式檢查列表中數字的總和並進行另一個運算,除非總和超過50?

        k = input("input digits separated by spaces:")
        try:
            [int(i) for i in k.split()]
        except ValueError:
            print("input only digits")

最主要的不是用兩個除了塊的結構,而是要使其盡可能簡單,請確保列表的總和不超過50。

    k = input("Input integers separated by spaces:")
    try:
        the_list = [int(i) for i in k.split()]
        if sum(the_list) > 50:
            raise ValueError("The user's numbers' summation is too large.")
    except ValueError:
        print("Input only integers separated by spaces with sum not greater than 50.")

assert sum([int(i) for i in k.split()]) <= 50並添加一個except AssertionError可以解決問題:

k = input("input digits separated by spaces: ")
try:
    assert sum([int(i) for i in k.split()]) <= 50
except ValueError:
    print "input only digits"
except AssertionError:
    print "Sum of digits is grater than 50"

雖然我必須說我覺得這是一個很差的設計...

暫無
暫無

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

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