Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Python] Помощь с написанием функции


Автор: comradegopnique 26.11.2013, 20:27
Помогите пожалуйста с решением:
Напишите функцию move, которая получает строчную латинскую букву, а возвращает следующую за ней букву в алфавите (после "z" следует "a"),

Например:

print move('a')

#>>> b

print move('n')

#>>> o

print move('z')

#>>> a


2)
def hash_string(keyword,buckets):
h = 0
for c in keyword:
h = (h + ord©)% buckets
return h

Предположим, мы воспользовались этой функцией и создали некую хэш-таблицу
наша функция hash_string получает строку (keyword) и число сегментов, и возвращает число (позицию в списке), куда мы затем отправляем это слово (keyword).
Что из приведенного ниже верно? (возможен выбор нескольких вариантов)
1.Число сравнений строк, необходимых для поиска ключа(keyword), которого нет в хэш-таблице, может быть меньше, чем в случае, если ключ там есть.
2.Ожидаемое время поиска для большинства ключей(keywords) в хэш-таблице уменьшится, если мы увеличим число сегментов(buckets).
3.Всегда чем больше сегментов (buckets) в хэш-таблице, тем лучше.
4.Время поиска для ключа(keyword) в хэш-таблице всегда меньше, чем время поиска для ключа(keyword) в первоначальной версии нашего индекса, который мы строили на лекции- [ [<keyword1>, [<url1, 1>, <url1, 2>]], [<keyword2>, [<url2, 1>, <url2, 2>]], ...]

Добавлено @ 20:35
хэш таблица

Автор: McMan 26.11.2013, 21:56
1. как-то так

def move(letter):
    if letter=='z': return 'a'
    return str(unichr(ord(letter)+1))

Автор: pythonwin 9.2.2014, 14:24
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)