Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 2, 2013 21:12:18

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

import random
count = 3
abc = {'a':0,'b':0,'c':0}
x = random.choice('abc')
abc[x]=1
choice = raw_input('a,b,c :')
if choice in abc.keys():
	if abc[choice] = 0
		secondzerro = [key for key in abc.keys() if key!= x and abc(key) = 0]
		print (secondzerro)	
		
		
else:
	print ('you entered something wrong')
	continue	
	 
print (abc)
exit()

ругается =((( пишет

python 1.py
Process started >>>
File “1.py”, line 8
if abc = 0
^
SyntaxError: invalid syntax
<<< Process finished.
================ READY ================



Офлайн

#2 Апрель 2, 2013 21:14:03

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

не запускается программа из notepad

сравнивать нужно двумя знаками

if abc[choice] == 0:
и в конце ставится двоеточие

Отредактировано sergeek (Апрель 2, 2013 21:14:36)

Офлайн

#3 Апрель 2, 2013 21:15:27

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

я и так и так пробовала, raw_input меняла на input
он выше строчку понимает abc=1, а эту не хочет =(



Офлайн

#4 Апрель 2, 2013 21:16:13

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

блииииииииииин:( пасибо. я уже час с этим двоеточием вожусь….



Офлайн

#5 Апрель 2, 2013 21:30:31

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

крутяк, смотри как у меня заработало =))))

import random
count = 3
abc = {'a':0,'b':0,'c':0}
x = random.choice('abc')
abc[x]=1
print (abc)
choice = input('choose the variable, where 1 is')
if choice in abc.keys():
	if abc[choice] == 0:
		secondzerro = [key for key in abc.keys() if key != choice and abc[key] == 0]
		print (secondzerro)	
		
	if abc[choice] ==1:
		test = random.choice([key for key in abc.keys() if key != choice])
		print(test)
else:
	print ('you entered something wrong')
	#continue	
	 
exit()

только continue не работает. пишет

python 1.py
Process started >>>
File “1.py”, line 18
continue
^
SyntaxError: ‘continue’ not properly in loop
<<< Process finished.
================ READY ================



Офлайн

#6 Апрель 2, 2013 21:45:53

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

не запускается программа из notepad

continue для циклов у тебя же нет тут цикла. Что ты хотела? Вернуться к input?

secondzerro = [key for key in abc.keys() if key != choice and abc[key] == 0]
тут у тебя будет массив из одного элемента вместо самого элемента, ты это хотела?
А вообще странно, умеешь в синтаксис компрехеншенов, а элементарные вещи не знаешь

Отредактировано sergeek (Апрель 2, 2013 21:46:15)

Офлайн

#7 Апрель 2, 2013 21:50:28

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

выйти хотела =) из программы. хотя пока не знаю, что хотела =)))

sergeek
А вообще странно, умеешь в синтаксис компрехеншенов, а элементарные вещи не знаешь
я вообще загадошный человек :D
sergeek
тут у тебя будет массив из одного элемента вместо самого элемента, ты это хотела?
мне нужно пройтись по всем элементам и выбрать тот, который будет подходить условиям. это я могу сделать либо вынося в функцию, как сделал ты, либо от таким вот извращенным способом) я выбрала извращенный способ. тока теперь я убеждаюсь, что это не удобно.



Офлайн

#8 Апрель 2, 2013 21:54:39

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

не запускается программа из notepad

ну можно просто взять первый элемент из массива и это будет почти тоже самое что в моей функции

secondzerro = [key for key in abc.keys() if key != choice and abc[key] == 0][0]

Офлайн

#9 Апрель 2, 2013 22:12:44

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

из какого массива? из abc? блин( я торможу. я не понимаю. можно сделать как-то кроме функции и моего сооружения?

а еще у меня выводится не то, что нужно( при выборе 1 все отлично, а вот если в первый раз выбираешь ноль, то выводит сразу два значения =( я пробовала и в двух if'ах сделать одну переменную, и разные результат один! при выборе единицы все срабатывает, при нуле нет(

import random
count = 3
secondzerro = ''
zerro = ''
abc = {'a':0,'b':0,'c':0}
x = random.choice('abc')
abc[x]=1
print (abc)
choice = input('choose the variable, where 1 is: ')
print('your choice is: ',choice)
if choice in abc.keys():
	if abc[choice] == 0:
		secondzerro = [key for key in abc.keys() if key != choice and abc[key] == 0]
		print ('This is a variable, where is 0: ',secondzerro)	
		
	if abc[choice] ==1:
		zerro = random.choice([key for key in abc.keys() if key != choice])
		print('This is a variable, where is 0: ',zerro)
	
	decision = input('Do you want to change your choice? press Y for yes or N for no ')
	if decision == 'y':
		change = [key for key in abc.keys() if key != choice and key != secondzerro and key != zerro]
		print ('your choice is changed to: ', change)
		
	else:
		print ('you entered something wrong')
		#continue	
	 
exit()



Офлайн

#10 Апрель 2, 2013 22:22:38

KellyDink
От:
Зарегистрирован: 2011-12-03
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не запускается программа из notepad

короче я глупая)))) твоя функция работает ! а вот моя супер выборка нет) поэтому я ее оставила) не возражаешь, если я ее позаимствую?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version