@python_beginnersЭта группа больше не существует

Страница 452 из 1885
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
или ты, в смысле, внутри цикла?
так, а выйти из while почему breake не работает?

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
в первом принте ошибка, "теперь b = 2, 3 или 4"
присваивание e = 1 явно ошибка, да

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
где у тебя а
она 11 равна всегда

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
Зачем тебе это??
http://clip2net.com/s/3Cihy2s вот это хотел решить)

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
хм, почему теперь b выходит за пределы (2,4)
дебагер в помощь, это быстрее, чем гадать

Темный
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

Страница 452 из 1885

Эта группа больше не существует Эта группа больше не существует