我一直在嘗試使 sys.argv[] 根據用戶輸入的引數數量更改其輸出。我試圖做到這一點,如果沒有 sys.argv[5] 那么它將使用 sys.argv[4]。目前我已經嘗試了這兩種想法,但我的問題總是IndexError: list index out of range當我嘗試將 sys.argv[5] 留空時:
if len(sys.argv) is 4:
location = int(sys.argv[1])
order = sys.argv[2]
amount = sys.argv[3]
user = sys.argv[4]
company= sys.argv[4]
print(company)
else:
location = int(sys.argv[1])
order = sys.argv[2]
amount = sys.argv[3]
user = sys.argv[4]
company= sys.argv[5]
print(company)
還試圖改變“如果len(sys.argv中)是4:”與“如果sys.argv中[5] = TRUE:!” 。我已經閱讀了一些關于解決索引的帖子,但不知道如何實際定制代碼以供我自己使用。
謝謝!
uj5u.com熱心網友回復:
您可以使用try/except如下塊,如果index 5存在則使用它,否則使用index 4.
if len(sys.argv) >= 4:
location = int(sys.argv[1])
order = sys.argv[2]
amount = sys.argv[3]
user = sys.argv[4]
try:
company= sys.argv[5]
except IndexError:
company= sys.argv[4]
print(company)
else:
print('Provide minimum 4 args')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335818.html
上一篇:C 測驗練習,變數負條件
