を作成しますメインメニュー、全体のメニューシステムが壊れました。 値が空であることを原因とは、私は、メインメニューの次のコードを持っているメニューとサブメニュー表示
p = ''
別のサブメニューインスタンスを呼び出す中断したところ、親メニューが続いていること現れました。
は、ここで述べたエラーの例です:
>>> value = mainmenu()
M A I N M E N U
1. Settings
q. Quit
Select an option: 1
S U B M E N U
1. Perform an action
b. Back
q. Quit
Select an option: b
M A I N M E N U
1. Settings
q. Quit
Select an option: 1
S U B M E N U
1. Perform an action
b. Back
q. Quit
Select an option: 1
>>>
>>> value
>>>
しかし、私は、サブメニューから「オプション1」を選択し、「戻る」オプションを使用しない場合は、すべてが期待どおりに動作します。
>>> value = mainmenu()
M A I N M E N U
1. Settings
q. Quit
Select an option: 1
S U B M E N U
1. Perform an action
b. Back
q. Quit
Select an option: 1
>>>
>>> value
'Do something'
>>>
「戻る」オプション機能を修正するにはどうすればよいですか?
私はメインメニューのオプション1の下にreturn文を挿入しようとしましたが、考えられるところでは動作しませんでした。私はいくつかの論理と説明やヘルプが欠けている非常に感謝しています。
...
elif option == '1':
d = submenu()
return
...
アップデート1
- ==オプションの下のMainMenuする変数 "MSG" を追加しました '1' とタプルを返します。
def mainmenu():
d = ''
msg = '' # Added in Update #1
while d == '':
print ('\nM A I N M E N U')
print ('1. Settings')
print ('q. Quit')
option = input ('Select an option: ')
if option.lower() == 'q':
sys.exit()
elif option == '1':
msg = 'Option 1' # Added in Update #1
d = submenu()
else:
print ('Invalid selection!')
return msg, d # Modified in Update #1
- 解凍され、主にタプル(印刷)
message, action = mainmenu()
print ('\nMessage: ', message)
print ('Action: ', action)
作品以下の答えが、オプション「B」が選択されている別の問題を導入します。
M A I N M E N U
1. Settings
q. Quit
Select an option: 1
S U B M E N U
1. Perform an action
b. Back
q. Quit
Select an option: b
M A I N M E N U
1. Settings
q. Quit
Select an option: 1
S U B M E N U
1. Perform an action
b. Back
q. Quit
Select an option: 1
Message: Option 1
Action: ('Option 1', 'Do something') # <<<<<< Return a Tuple?
ステートメントは、私がすでにmain()から解凍したタプルを返します。オプション 'b'が選択されていない場合の動作例を次に示します。
M A I N M E N U
1. Settings
q. Quit
Select an option: 1
S U B M E N U
1. Perform an action
b. Back
q. Quit
Select an option: 1
Message: Option 1
Action: Do something