Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Помогите пожалуйста найти ошибки в коде. Решение нашла на просторах интернета, но у меня не запускается. спасибо. [RSS Feed]

#1 Ноя. 4, 2021 08:17:29

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

Помогите пожалуйста найти ошибки в коде. Решение нашла на просторах интернета, но у меня не запускается. спасибо.

Есть два списка разной длины. В первом содержатся ключи, а во втором значения. Напишите функцию, которая создаёт из этих ключей и значений словарь. Если ключу не хватило значения, в словаре должно быть значение None. Значения, которым не хватило ключей, нужно игнорировать.
list_key=
list_val=
def create_dict(list_key,list_val):
if len(list_key)>len(list_val):
while len(list_key)>len(list_val):
list_val.append(None)
else:
list_val=list_val
return {key:value for key,value in zip(list_key, list_val)}

print create_dict(list_key,list_val)


Предположим, у нас есть access.log веб-сервера. Найти десять IP-адресов, от которых было больше всего запросов.

import re
from collections import Counter
# открываем файл в режиме для чтения
with open('access.log') as f:
# читаем весь файл в переменную
text = f.read()
# файл закроется сам
# регуляркой находим строки нужного формата
data = re.findall('{1,3}\.{1,3}\.{1,3}\.{1,3}', text)
# у нас есть список
# дальше считаем и берём десять наиболее популярных
for ip, count in Counter(data).most_common(10):
print(ip)

В системе авторизации есть ограничение: логин должен начинаться с латинской буквы, состоять из латинских букв, цифр, точки и минуса, но заканчиваться только латинской буквой или цифрой; минимальная длина логина — один символ, максимальная — 20. Напишите код, проверяющий соответствие входной строки этому правилу. Придумайте несколько способов решения задачи и сравните их.

import re
rex1 = re.compile(r'')
rex2 = re.compile(r'^{0,18}$')
logs =

for log in logs:
if len(log) == 1:
print('valid' if re.match(rex1, log) else ‘unvalid’)
else:
if log.count('.') > 1 or log.count('-') > 1:
print('unvalid')
else:
print('valid' if re.match(rex2, log) else ‘unvalid’)
valid
unvalid
unvalid
valid
unvalid
valid
unvalid
exit()





import re, time
def valid_one(login):
t = time.time()
if re.match('^{0,19}(?<!)$', login):
rez = ‘valid’
else:
rez = ‘unvalid’
return rez, ‘%f sec.’ % (time.time()-t)

def valid_two(login):
t = time.time()
if 1 <= len(login) <= 20 and login.isalpha() and (login.isalpha() or login.isdigit()):
rez = ‘valid’
for go in login:
if not go.isalpha() and not go.isdigit() and go != ‘-’ and go != ‘.’:
rez = ‘unvalid’
break
else:
rez = ‘unvalid’
return rez, ‘%f sec.’ % (time.time()-t)


while True:
login = raw_input (“login:”)

print ‘Valid_one:’, valid_one(login)
print ‘Valid_two:’, valid_two(login)

Прикреплённый файлы:
attachment Кузнецова А 508М программирование.doc (36,0 KБ)

Офлайн

  • Начало
  • » Центр помощи
  • » Помогите пожалуйста найти ошибки в коде. Решение нашла на просторах интернета, но у меня не запускается. спасибо.[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version