Уведомления

Группа в Telegram: @pythonsu

#1 Май 15, 2017 08:29:31

Acamori
Зарегистрирован: 2017-04-11
Сообщения: 47
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Дабы не создавать новую тему под каждый вопрос, было бы не плохо иметь одну общую, закрепленную тему где можно было бы задавать не большие вопросы не требующие детального анализа и глубокой оценки.

Если это возможно, пусть кто-то из модераторов закрепит эту тему.

Ну, а теперь сам мой вопрос:

Есть список с двумя значениями, и хотелось реализовать цикл проверки

 A = ['Yes', 'No']
for a,b in A:
if a is 'Yes': print('Good')
if b is 'No':print('Bad')

Но при запуске всегда вылетает ошибка о том, что слишком много значений для проверки.

Отредактировано Acamori (Май 15, 2017 09:00:58)

Офлайн

#2 Май 15, 2017 08:47:33

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопросы от новичков.

 A = ['Yes', 'No']
for a in A:
  if a == 'Yes': 
    print('Good')
  if a == 'No':
    print('Bad')

Офлайн

#3 Май 15, 2017 08:48:53

Acamori
Зарегистрирован: 2017-04-11
Сообщения: 47
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

krok64
  A = ['Yes', 'No']
for a in A:
  if a == 'Yes': 
    print('Good')
  if a == 'No':
    print('Bad')
Этот вариант несколько не подходит. Хотелось бы получить примерно следующую логику.

 A = ['Yes', 'No']
B = [...,...]
if A[0] == 'Yes': B[0]=('Good')
else: B[0] = ('Bad')
if A[1] == 'Yes': B[1]=('Good')
else: B[1] = ('Bad')

Возможно ли это циклом for ? Или же не париться и оставить обычную проверку на вхождение.

Отредактировано Acamori (Май 15, 2017 08:58:08)

Офлайн

#4 Май 15, 2017 09:16:52

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Acamori
Возможно ли это циклом for ? Или же не париться и оставить обычную проверку на вхождение.
Можно вот такой цикл сделать
 A = ['Yes', 'No']
B = ["",""]
for i, a in enumerate(A):
    if a=='Yes':
    	B[i] = 'Good'
    else:
    	B[i] = 'Bad'

Офлайн

#5 Май 15, 2017 09:19:57

Acamori
Зарегистрирован: 2017-04-11
Сообщения: 47
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

krok64
 A = ['Yes', 'No']
B = ["",""]
for i, a in enumerate(A):
    if a=='Yes':
    	B[i] = 'Good'
    else:
    	B[i] = 'Bad'

Спасибо Буду экспериментировать

Отредактировано Acamori (Май 15, 2017 09:20:12)

Офлайн

#6 Май 17, 2017 20:09:28

Acamori
Зарегистрирован: 2017-04-11
Сообщения: 47
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

И снова всем здрасти, появились некоторые вопросы по селениуму, прошу прощения если баяны или банальщина - еще не успел всего прочитать.

Есть к примеру такие поля:

Field1 - (……..)
Field2 - (……..)
Field3 - (……..)


Можно ли селениум заставить начинать заполнять форму с места где поставили курсор ?
К примеру я поставил курсор в Field1, и хочу что б селениум сразу начал заполнять без поиска.

Отредактировано Acamori (Май 18, 2017 13:33:29)

Офлайн

#7 Май 20, 2017 15:26:11

Re_Flex
Зарегистрирован: 2017-05-20
Сообщения: 2
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
while True:
	i = int(input('Номер дня недели: '))
	try:
		d = {
			1: lambda x: 'Monday',
			2: lambda x: 'Tuesday',
			3: lambda x: 'Wednesday',
			4: lambda x: 'Thursday',
			5: lambda x: 'Friday',
			6: lambda x: 'Saturday',
			7: lambda x: 'Sunday'
		} 
		print(d[i](i))
	except Exception:
		print('Такого числа дня нет!')
	except ValueError:
		print('Вы ввели не число!')
                                            
Когда вводишь не число, выводится: Traceback (most recent call last): File “…….py”, line 4 in <module> i = int(input('Номер дня недели: ‘)) ValueError: invalid literal for int() with base 10: ’выыва'.
Но у меня есть ValueError - если возникает такая ошибка то должно выводить ‘Вы ввели не число!’, а выводит ошибку… Что делать?

Отредактировано Re_Flex (Май 20, 2017 15:30:30)

Офлайн

#8 Май 20, 2017 23:28:33

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Вопросы от новичков.

 d = {
    1: 'Monday',
    2: 'Tuesday',
    3: 'Wednesday',
    4: 'Thursday',
    5: 'Friday',
    6: 'Saturday',
    7: 'Sunday'
}
while True:
    try:
        i = int(input('Номер дня недели: '))
    except ValueError:
        print('Вы ввели не число!')
    else:
        print(d.get(i, 'Такого дня нет!'))

Во-первых, выражение except Exception отловит все исключения в блоке try, поэтому выполнение кода до строки except ValueError не дойдет никогда. Во-вторых, приведение строки к числу int(…) у вас не в блоке try-except, поэтому програма вылетает именно тут, когда вы пытаетесь привести строку ’выыва' к числу. В-третьих, а зачем вам лямбды в словаре, которые к тому же никак не используются?

Отредактировано Stright (Май 20, 2017 23:29:51)

Офлайн

#9 Май 21, 2017 10:27:38

Re_Flex
Зарегистрирован: 2017-05-20
Сообщения: 2
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Stright
…В-третьих, а зачем вам лямбды в словаре, которые к тому же никак не используются?
Спасибо за помощь! Я лямбды использовал случайно, думал что это обязательно, хотел что-то типа аналога case of в других языках. По-сути без причины, просто так… Решил попробовать.

Отредактировано Re_Flex (Май 21, 2017 10:32:27)

Офлайн

#10 Май 23, 2017 14:54:11

Acamori
Зарегистрирован: 2017-04-11
Сообщения: 47
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопросы от новичков.

Помогите решить проблемку. Есть файл скрипта и я хочу запускать его из другого файла(мини лаунчер так сказать). При попытке запуска через команду exec вылазит ошибка:

File “D:\Python\bpo\test.py”, line 2, in <module>
exec(open(r'D:\python\bpo\firms\bpo\bpo_interior.py').read())
File “C:\Users\admin\AppData\Local\Programs\Python\Python36\lib\encodings\cp1251.py”, line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)
UnicodeDecodeError: ‘charmap’ codec can't decode byte 0x98 in position 50523: character maps to <undefined>

Если напрямую запускать через cmd - запускаемый файл отрабатывает. А вот если пытаюсь из другого файла вызвать - вылетает ошибка выше.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version