#!/usr/bin/env python
import easygui as eg
start = eg.msgbox('In your head, pick a number between 1 and 100. No matter what, I will guess it in no more than 7 tries. When you think of a number, press OK to start the program.')
maximum = 100
minimum = 0
middle = (maximum-minimum)/2
attempt= 1
while True:
if attempt > 7:
eg.msgbox('You cheated. Terminating...')
break
else:
yon = eg.boolbox("Is your number: " + str(middle) + '?', 'Guess Result',('Yes','No'))
if yon == 1:
eg.msgbox("Found in " + str(attempt) + " try!")
break
if yon == 0:
choice = eg.boolbox("Was my guess..." , 'High or Low?' , ('High' , 'Low')
if choice == 0:
minimum = middle
middle = int(round(float(maximum+minimum)/2))
elif choice == 1:
maximum = middle
middle = int(round(float(maximum+minimum)/2))
else:
eg.msgbox"Enter valid input!";"Lets start again from the last step"
continue
attempt+= 1
わかりました、20 行目でインデント エラーが発生し続けます。わかりません。私の構文は問題ないようです。私は戻ってすべてのインデントを削除し、それらを再インデントしました(ミックスにスペースがないことを確認するため). なぜ私にこれを与えているのですか?どうすれば修正できますか?
私を最も混乱させたのは、EasyGUI モジュールをインポートせず、EasyGUI を変更せずに、同じコードを書き出してしまったことですが、それ以外は同じコードです。if/elif/else は同じ場所にあり、すべて同じですが、「eg.msgbox」の「print」コマンドが省略され、raw_input が「boolbox」に置き換えられています。
編集 - 20行目は次のとおりです。
if yon == 0:
ライン