簡體   English   中英

Python 如何從打印結果中刪除前導回車?

[英]Python How do I remove leading carriage return from my print results?

我有以下循環遍歷列表的代碼。 它還使用 eval function 從列表中添加、刪除和刪除。 如何從打印結果中刪除前導回車? 不尾隨回車。

if __name__ == '__main__':
    N = int(12)
    O = ["insert 0 5",
        "insert 1 10",
        "insert 0 6",
        "print",
        "remove 6",
        "append 9",
        "append 1",
        "sort",
        "print",
        "pop",
        "reverse",
        "print"]
    J = []
    p = []
    for i in range(0, N, 1):
        K = O[i]
        if K.lstrip("\n").find(" ") > 0:
            AK = K[0:K.find(" ")] + \
                "(" + str(K[K.find(" ")+1:]).replace(" ", ",") + ")"
        else:
            AK = K + "()"
        try:
            eval("p."+AK.lstrip("\n"))
        except (NameError, AttributeError):
            eval(AK.lstrip("\n"))
            print(p, sep="", end="")
OutPut below:

在此處輸入圖像描述

您的行AK=K+'()'正在制作print()命令。 並且沒有像p.print()這樣的列表,這就是它引發異常並且eval(AK.lstrip("\n"))移動到新行的原因。

編輯:按需代碼:

if __name__ == '__main__':
    N = int(12)
    O = ["insert 0 5",
         "insert 1 10",
         "insert 0 6",
         "print",
         "remove 6",
         "append 9",
         "append 1",
         "sort",
         "print",
         "pop",
         "reverse",
         "print"]
    J = []
    p = []
    for i in range(0, N, 1):
        K = O[i]
        if K.lstrip("\n").find(" ") > 0:
            AK = K[0:K.find(" ")] + \
                "(" + str(K[K.find(" ")+1:]).replace(" ", ",") + ")"
        else:
            if K=="print": AK=K
            else: AK = K + "()"
        try:
            if AK=="print": eval(f"{AK}({p})")
            else: eval("p."+AK.lstrip("\n"))
        except (NameError, AttributeError):
            print("something wrong")

#Output
[6, 5, 10]
[1, 5, 9, 10]
[9, 5, 1]

暫無
暫無

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

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