
Johnnie
16.09.2016
08:11:21
Чо там чувак с линуксом-то? Сдал??

Igor
16.09.2016
08:11:25
если ты хочешь, чтобы c стала рандомной от 1 до 9, то надо
c = rdm()
и тебе тогда вообще аргументы в этой функции не нужны
как и в zero()
вообще, эти функции тоже смысла особого не имеют

Темный
16.09.2016
08:11:42
ладно, функции уберу вообще

Google

Igor
16.09.2016
08:11:59
зачем они когда можно просто писать
x = 0
x = random.randint(1, 9)

Темный
16.09.2016
08:13:34
ладно, задача на самом деле вот, но я думал ее можно решить рандомами http://clip2net.com/s/3Ci39Lm
понял, я нигде 'e' не определяю

Igor
16.09.2016
08:16:47
как это нигде не определяешь
b = c = d = e = 1 #range 1-9
а это что
или ты, в смысле, внутри цикла?

Темный
16.09.2016
08:17:51

Igor
16.09.2016
08:22:40
в смысле?

Темный
16.09.2016
08:22:53
while True:
b = c + c
e = b + b
if d + c != 9:
....
if d + c == 9 and c + c == b and b + b == e and c + e == a:
break
print("Ответ: " + str(a) + str(e) + str(b) + '9')
из скрипта не выходит
ответ находит, но до принта не доходит

Igor
16.09.2016
08:24:41
делаем где-нибудь в конце
print('a={}, b={}, c={}, d={}, e={}'.format(a, b, c, d, e))
получаем на экране
возможно: b=2
a=11, b=2, c=1, d=8, e=1

Google

Igor
16.09.2016
08:26:26
если не понял, в чем проблема, то делаем еще один принт

Темный
16.09.2016
08:26:33
в конце while? так а почему он из него не выходит в блок с принтом после

Igor
16.09.2016
08:26:38
print('d+c==9? {}; c+c==b? {}; b+b==e? {}; c+e==a? {}'.format(
d + c == 9, c + c == b, b + b == e, c + e == a
))
a=11, b=2, c=1, d=8, e=1
d+c==9? True; c+c==b? True; b+b==e? False; c+e==a? False
(этот принт выведет на экран, выполняются ли условия, которые ты задал для того, чтобы цикл закончился)

Темный
16.09.2016
08:27:18
хм, сейчас попробую

Igor
16.09.2016
08:27:36
т.е. у тебя никогда b+b не равно e
и никогда c+e не равно a
c+e == 2
a == 11
b+b = от 4 до 8
e = 1

Темный
16.09.2016
08:28:32
так поэтому они и рандомизируются каждый раз

Igor
16.09.2016
08:28:53
а, я у себя изменить забыл rdm(c) твои, пардон

Темный
16.09.2016
08:29:11
import random
b = c = d = e = 1 #range 1-9
a = 11 #a=11 -> 1
max_num = 9
while True:
b = c + c
e = b + b
if d + c != 9:
d += 1
c = random.randint(1, max_num)
if d > 8:
d = 0
print("возможно: d={}, c={}".format(d, c))
if b + b != e:
b = random.randint(2, 4)
print("возможно: b={}".format(b))
if c + c != b:
c = random.randint(1, 2)
print("возможно: c={}".format(c))
if c + e != a:
c = 1
e = 1
if d + c == 9 and c + c == b and b + b == e and c + e == a:
break
print("Ответ: " + str(a) + str(e) + str(b) + '9')

Igor
16.09.2016
08:29:15
ща

Темный
16.09.2016
08:29:15
новый код если что
он находит верные числа, но не выходит из цикла как я понял. До принта после while не доходит

Igor
16.09.2016
08:31:00
да, потому что while продолжается
просто не выводит ничего
a=11, b=2, c=1, d=8, e=1
d+c==9? True; c+c==b? True; b+b==e? False; c+e==a? False

Темный
16.09.2016
08:31:50
а, рандом снова надо запускать

Igor
16.09.2016
08:32:34
твоя проблема решается так
"НУЖНО БОООЛЬШЕ ПРИНТОВ"

V
16.09.2016
08:32:48

Темный
16.09.2016
08:32:50
больше принтов богу принтов

Google

Johnnie
16.09.2016
08:33:12

Igor
16.09.2016
08:35:47
if b + b != e:
print("[b+b!=e] {b} + {b} не равно {e}! теперь c = 2, 3 или 4".format(b=b, e=e))
b = random.randint(2, 4)
print("возможно: b={}".format(b))
if c + c != b:
print("[c+c!=b] {c} + {c} не равно {b}! теперь c = 1 или 2".format(b=b, c=c))
c = random.randint(1, 2)
print("возможно: c={}".format(c))
if c + e != a:
print("[c+e!=a] {c} + {e} не равно {a}! теперь c = e = 1".format(c=c, e=e, a=a))
c = 1
e = 1
в первом принте ошибка, "теперь b = 2, 3 или 4"

Темный
16.09.2016
08:38:05

[Anonymous]
16.09.2016
08:38:10

Темный
16.09.2016
08:42:49

V
16.09.2016
08:48:44
не смотрел предыдущие серии, но у тебя break в цикле?

Темный
16.09.2016
08:49:09
while True:
b = c + c
e = b + b
if d + c != 9:
d += 1
c = random.randint(1, max_num)
if d > 8:
d = 0
print("возможно: d={}, c={}".format(d, c))
if b + b != e:
b = random.randint(2, 4)
print("возможно: b={}".format(b))
if c + c != b:
c = random.randint(1, 2)
print("возможно: c={}".format(c))
if c + e != a:
c = random.randint(1, max_num)
if True:
print("a={}, b={}, c={}, d={}, e={}".format(a, b, c, d, e)
if d + c == 9 and c + c == b and b + b == e and c + e == a:
break
print("Ответ: " + str(a) + str(e) + str(b) + '9')
да

Yegor
16.09.2016
08:49:28
где у тебя а
?

Темный
16.09.2016
08:49:43

Yegor
16.09.2016
08:50:01
а где она объявлена-то?)
а, хотя неважно

V
16.09.2016
08:50:11
а макс_нум?

Темный
16.09.2016
08:50:12
перед while
import random
b = c = d = e = 1 #range 1-9
a = 11 #a=11 -> 1
max_num = 9

Yegor
16.09.2016
08:50:47
и именно в этой строке ошибка?
которую ты скинул?

V
16.09.2016
08:50:54
скобку забыл чуть выше

Google

V
16.09.2016
08:51:01
в принте
print("a={}, b={}, c={}, d={}, e={}".format(a, b, c, d, e)

Yegor
16.09.2016
08:51:17
лооол

V
16.09.2016
08:51:20
не хватает скобки в конце
поэтому он твой иф все печатать собирается
(шучу, просто скобку поставь)

Темный
16.09.2016
08:51:58
точно...)
хм, почему теперь b выходит за пределы (2,4)

Johnnie
16.09.2016
09:05:51
Зачем тебе это??

Admin
ERROR: S client not available

Темный
16.09.2016
09:06:55

Igor
16.09.2016
09:11:11
print("a={}, b={}, c={}, d={}, e={}".format(a, b, c, d, e)
да, пардон, скобку проебал

V
16.09.2016
09:12:19

Темный
16.09.2016
09:12:49
на работе под рукой только idle
ладно, пофиг

V
16.09.2016
09:13:26
ты что, сдался?

Темный
16.09.2016
09:13:53
я на работе :( дедлайны, вот это все

V
16.09.2016
09:14:43
дедлайны подождут, задачки от mail.ru важнее!

Google

x3233
16.09.2016
09:16:36
)

Тёма
16.09.2016
09:20:03
Я пока в код не врубался
Но
Или я туплю, или там надо больше ифов

[Anonymous]
16.09.2016
09:23:44
Какие редакторы вы используете?

Igor
16.09.2016
09:24:25
sublime text

Тёма
16.09.2016
09:25:08
Типа нам надо чтобы с плюс е было больше или равно 9 если б плюс б больше или рвно 9 если ц плюс ц больше или равно 9 если ц плюс д больше или равно 10

Темный
16.09.2016
09:25:16
ладно, давайте без кода решим.
мои мысли такие.
Задание:
C B C D
E B C C
—---------—
A A E B 9
A - D = диапазон чисел (1-9)
из этого сдледует, что A=1 -> 2A = 11
тогда,
D + C = 9
C + C = B -> 2C = B
B + B = E -> 2B = 4C = E
C + E = A(11) -> C + 2B =C + 4C = 5C = 11
тогда,
11\5 = ???
где я дурак?

Тёма
16.09.2016
09:25:21
И так далее
Хм

Igor
16.09.2016
09:29:00
может быть так, что с=6, например, тогда c+c=12, значит b=2
потом b+b=4, но нам надо взять единичку из ц+ц (12), поэтому e=5
и так далее
там же в результате еще одна цифра

Темный
16.09.2016
09:29:55
а... а я брал из условия, что e или b не может быть больше 9

Тёма
16.09.2016
09:29:56
Не сходится
У тя не c и е не превратятся в 10 или 11

Igor
16.09.2016
09:30:30
они не могут, да. c+c может быть больше 9, а b уже не может

Тёма
16.09.2016
09:30:43
Стооооп
А, да
У тя с и е превратятся в 10
Но из бб у тя не будет единички

Igor
16.09.2016
09:31:20
фишка в том, что если c=4, то c+c это 4+4=8, значит b=8
Эта группа больше не существует