[D5] wb.setForceFormulaRecalculation (истина); // заменим «wb» на ваш объект HSSFWorkbook / XSSFWorkbook
Это неверно, по крайней мере:
for x in range(x, 1, 1):
elif option == 0:
#option = 1
#while option != 0:
print ("MENU")
print("please make a selection")
print("1. count")
print("0. quit")
option = int(input("MAKE Your Selection "))
if option == 1:
print("1. count up")
print("2. count down")
print("0. go back")
option = int(input("MAKE Your Selection "))
if option == 1:
x = int(input("please enter a number "))
for x in range(1, x, 1):
print (x)
elif option == 2:
x = int(input("please enter a number "))
for x in range(x, 0, -1):
print (x)
elif option == 0:
print("hi")
else:
print("invalid command")
else:
print ("H!111")
_________________________________________________________________________
You can try this code! It works.
В цикле for
нет тела цикла:
elif option == 2:
print "please enter a number"
for x in range(x, 1, 1):
elif option == 0:
На самом деле весь блок if option == 1:
имеет проблемы с отступом. elif option == 2:
должен быть на том же уровне, что и оператор if
.
в python ..... intendation имеет значение, например:
if a==1:
print("hey")
if a==2:
print("bye")
print("all the best")
В этом случае «все лучшее» будет напечатано, если выполнено одно из двух условий, но если бы это было например
if a==2:
print("bye")
print("all the best")
, тогда «все лучшее» будет напечатано, только если a == 2
Есть несколько проблем:
elif option == 2:
, а последующий elif
- else
должен быть выровнен со вторым if option == 1
, а не с for
. for x in range(x, 1, 1):
отсутствует тело. input()
во второй раз. Однако, для здравого смысла, я призываю вас сохранить результат во второй переменной, а не повторять option
. Когда вы сможете запустить свой код, вы обнаружите больше проблем (вам понадобится еще несколько вызовов input()
, один из вызовов range()
будет нуждаться в внимании и т. д.).
Наконец, пожалуйста, не используйте ту же переменную, что и переменная цикла, и как часть начального / конечного условия, как в:
for x in range(1, x, 1):
print x
Это может сработать, но это очень запутанно читать. Дайте переменной цикла другое имя:
for i in range(1, x, 1):
print i
Начиная с elif option == 2:
, вы отступали слишком много раз. В достойном текстовом редакторе вы должны выделить эти строки и нажать Shift + Tab, чтобы исправить проблему.
Кроме того, после for x in range(x, 1, 1):
нет инструкции. Вставьте отступ pass
, чтобы ничего не делать в цикле for
.
Кроме того, в первой строке вы написали option == 1
. ==
для равенства, но вы имели в виду =
(один знак равенства), который присваивает правильное значение для левого имени, то есть
option = 1
[Ctrl]-[<]
(в визуальном режиме, добавление движения в нормальном режиме)
– SingleNegationElimination
1 August 2011 в 17:40
option = 1
вместо option == 1
в первой строке, не так ли? Обновлен ответ.
– phihag
1 August 2011 в 18:03
Ваш последний оператор for
не имеет тела.
Python ожидает, что отложенный блок будет следовать за строкой с помощью for или иметь контент после двоеточия.
первый стиль более распространен, поэтому он говорит, что он ожидает, что какой-то изложенный код будет следовать за ним. У вас есть elif
на том же уровне отступа.