Вы можете проверить это самостоятельно, если напишите многострочный текст
Ввод:
1
2
3
4
5
6
7
blockquote>в текстовое поле с помощью конструктора и свойства
Text
, вы можете видеть, что он генерирует что-то вроде этого:текстовое значение:
"1 \ r \ n2 \ r \ n3 \ r \ n4 \ r \ n5 \ r \ n6 \ r \ n7 "
blockquote>Код:
string txt = multiLineTextBox.Text;
Поэтому, если вы добавите
\r\n
к существующему тексту, он добавит текст в новую строку:for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++) { int a = i % 2; if (a == 0) { textBox3.Text = $"{textBox3.Text}{i}\r\n"; // or using string.Format for older versions //textBox3.Text = string.Format("{0}{1}\r\n", textBox3.Text, i); } }
просто форматируйте свой код правильно:
def determine_period(universe_array):
period=0
tmp=universe_array
while True:
tmp=apply_rules(tmp)#aplly_rules is a another function
period+=1
if numpy.array_equal(tmp,universe_array) is True:
return period
if period>12: #i wrote this line to stop it..but seems its doesnt work....help..
return 0
else:
return period
Необходимо понять что break
оператор в Вашем примере выйдет из бесконечного цикла, с которым Вы создали while True
. Таким образом, когда условие повреждения Правда, программа выйдет из бесконечного цикла и продолжится к следующему блоку с отступом. С тех пор нет никакого после блока в Вашем коде, функциональных концах, и ничего не возвращайте. Таким образом, я исправил Ваш код путем замены break
оператор a return
оператор.
После Вашей идеи использовать бесконечный цикл, это - лучший способ записать это:
def determine_period(universe_array):
period=0
tmp=universe_array
while True:
tmp=apply_rules(tmp)#aplly_rules is a another function
period+=1
if numpy.array_equal(tmp,universe_array) is True:
break
if period>12: #i wrote this line to stop it..but seems its doesnt work....help..
period = 0
break
return period
def determine_period(universe_array):
period=0
tmp=universe_array
while period<12:
tmp=apply_rules(tmp)#aplly_rules is a another function
if numpy.array_equal(tmp,universe_array) is True:
break
period+=1
return period
is
оператор в Python, вероятно, не делает то, что Вы ожидаете. Вместо этого:
if numpy.array_equal(tmp,universe_array) is True:
break
Я записал бы это как это:
if numpy.array_equal(tmp,universe_array):
break
is
оператор тестирует объектные идентификационные данные, которые являются чем-то очень отличающимся от равенства.
Я сделал бы это с помощью для цикла как показано ниже:
def determine_period(universe_array):
tmp = universe_array
for period in xrange(1, 13):
tmp = apply_rules(tmp)
if numpy.array_equal(tmp, universe_array):
return period
return 0