簡體   English   中英

我怎樣才能簡化這段代碼? 有沒有辦法將其轉換為 for 循環?

[英]how can i simplify this code? is there a way to transform this into a for loop?

我怎樣才能簡化這段代碼? 有沒有辦法將其轉換為 for 循環?
我嘗試了一些 for 循環,但沒有任何效果或比這更短並且更有效。

這是我要優化的代碼:

if selection == 1:
    function1
elif selection == 2:
    function2
elif selection == 3:
    function3
elif selection == 4:
    function4

看起來您想根據選擇的值執行不同的 function。 一個不錯的方法是,在選擇和ZC1C1C425268E68E68E68385D1AB5074C174C17A94F14F之間,將具有值的字典和您要調用的值和您要調用的函數的字典和功能。 例如:

functions = {'1': function1, '2': function2, '3': function3}

然后如果根據選擇執行 function:

functions[selection]()

如果字典中不存在密鑰,您可以通過添加一些錯誤處理來稍微改進它

您可以將函數作為對象存儲在列表中

[function1, function2, function3, function4][selection - 1]()

但是,這不是真正可讀的,所以不推薦。 您不能使用循環,因為您的代碼不會重復執行任何操作

暫無
暫無

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

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