Python で次のプログラムを実行すると、関数は変数を取り込みますが、残りは完全にスキップし、何もせずにプログラムのメイン メニューを再表示します。さらに、修飾する「if」ステートメントをスキップし、最初または 2 番目のオプション (3 番目の変数は必要ありません) が選択されている場合でも、すべての変数を要求します。ところで、これはインデント エラーであってはなりません。stackoverflow 内のコードであることを示すためにインデントしただけです。
編集:気にしないでください。私はそれを働かせました。関数の括弧内の変数はすべて同じでなければなりません。当たり前!額を叩く
option = 1
while option !=0:
print "\n\n\n************MENU************"
print "1. Counting"
print "2. Fibbonacci Sequence"
print "0. GET ME OUTTA HERE!"
print "*" * 28
option = input("Please make a selection: ") #counting submenu
if option == 1:
print "\n\n*******Counting Submenu*******"
print "1. Count up by one"
print "2. Count down by one"
print "3. Count up by different number"
print "4. Count down by different number"
print "*" * 28
countingSubmenu = input("Please make a selection: ")
x=0
y=0
z=0
q=0
def counting (x, y, z, countingSubmenu, q):
x = input("Please choose your starting number: ")
y = input("Please choose your ending number: ")
if countingSubmenu == 1:
for q in range (x, y+1, 1):
print q
elif countingSubmenu == 2:
for q in range (x, y, -1):
print q
elif countingSubmenu == 3:
z = input("Please choose an increment: ")
for q in range (x, y+1, z):
print q
else:
z = input("Please choose an increment: ")
for q in range (x, y, -z):
print q
return x, y, z, q
if countingSubmenu == 1:
counting(countingSubmenu, x, y, z, q)
if countingSubmenu == 2:
counting(countingSubmenu, x, y, z, q)
if countingSubmenu == 3:
counting(countingSubmenu, x, y, z, q)
if countingSubmenu == 4:
counting(countingSubmenu, x, y, z, q)