Найти - Пользователи
Полная версия: Вопросы от новичков.
Начало » Python для новичков » Вопросы от новичков.
1 2 3 4 None 24 25 26 27 28 29 30 31
FishHook
m_env
Других программ еще не использовали
Ну так возьмите и поиспользуйте. Какой черт с вами говорить о вкусе устриц, если вы их ни разу не пробовали?
artyom
КАК ЗАГРУЗИТЬ ЖЕЛАЕМОЮ КАРтИНКУ В ПИТОН 3 НА МАКЕ????
noob_saibot
artyom
КАК ЗАГРУЗИТЬ ЖЕЛАЕМОЮ КАРтИНКУ В ПИТОН 3 НА МАКЕ????
В питон 2 уже получилось? Проблема только с третьим? Мак пробовали включать/выключать?
Если такая ошибка:
 NameError: name 'OPEN' is not defined
то попробуйте отключить капс.
Rusl
возникла проблема.

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

Traceback (most recent call last):
File “D:\Python\Доусон задачи\chap5- rekordi.py”, line 13, in <module>
elif choiсе == ‘1’:
NameError: name ‘choiсе’ is not defined

# Рекорды
# Демонстрирует списочные методы
scores =
choice = None
while choice != 0:
print(“Рекорды\n0 - Выйти \n1 - Показать рекорды \n2 - Добавить рекорд \n3 - Удалить екорд \n4 - Сортировать список” )
choice = input(“Baш выбор: ”)
print ()
# выход
if choice == ‘0’:
print ('До свидания.')
# вывод лучших результатов на экран
elif choiсе == ‘1’:
print(“Peкopды”)
for score in scores:
print(scores)
# добавление рекорда
elif choice == ‘2’:
score = int(input(“Bnишитe свой рекорд: ”))
scores.append (score)
print (scores)
# удаление рекорда
elif choice == ‘3’:
score = int ( input( “Какой из рекордов удалить?: ”))
if score in scores:
scores.remove(score)
else:
рrint(“Результат”. score)
# сортировка рекордов
elif choice == ‘4’:
scores.sort(reverse=True)
# непонятный пользовательский ввод
else:
рrint(“Извините. в меню нет пункта”. choice)
input(“\n\nHaжмитe Enter. чтобы выйти.”)
AlexBYN
отступы пропали, тогда лучше файлик глянуть.
Rusl
AlexBYN,
в названии файла проблема. Запомни, ни каких дифисов и пробелов.

p.s.
если хочешь вставить код в сообщение - используй форматирование code и из выпадающего меню выбирай нужный язык
 # Рекорды 
# Демонстрирует списочные методы 
scores = [] 
choice = 'x'
message = 'Рекорды\n0 - Выйти \n1 - Показать рекорды'
message +='\n2 - Добавить рекорд \n3 - Удалить рекорд'
message +='\n4 - Сортировать список'
while choice != 0:
    print(message)
    choice = input("Baш выбор: ") 
    print ()
# выход 
    if choice == '0': 
        print ('До свидания.')
        break
# вывод лучших результатов на экран 
    elif choice == '1': 
        print("Peкopды") 
        for score in scores: 
            print(score)
# добавление рекорда 
    elif choice == '2': 
        score = int(input("Bnишитe свой рекорд: "))
        scores.append(score)
        print(scores)
# удаление рекорда 
    elif choice == '3':
        score = int ( input( "Какой из рекордов удалить?: ")) 
        if score in scores: 
            scores.remove(score) 
        else: 
            рrint("Результат". score) 
# сортировка рекордов 
    elif choice == '4': 
        scores.sort(reverse=True)
# непонятный пользовательский ввод 
    else: 
        print("Извините. в меню нет пункта "+choice)


файлик немного переделал. проблема была с choice. может книга была распознана корява и слово состоит из символов разного языка. я везде копипастнул одно и заработало.
Rusl
помогите разобраться
Не могу пройти несколько тестов. тех, которые связаны с сортировкой по алфавиту.

Так как нет возможности вызвать по значению ключ, я инвертировал словарь. Вот только само собой затерлись дублирующие ключи. Мой подход считаю не верным. Подскажите нужный алгоритм.

Дан текст, который содержит различные английские буквы и знаки препинания. Вам необходимо найти самую частую букву в тексте. Результатом должна быть буква в нижнем регистре.
При поиске самой частой буквы, регистр не имеет значения, так что при подсчете считайте, что “A” == “a”. Убедитесь, что вы не считайте знаки препинания, цифры и пробелы, а только буквы.

Если в тексте две и больше буквы с одинаковой частотой, тогда результатом будет буква, которая идет первой в алфавите. Для примера, “one” содержит “o”, “n”, “e” по одному разу, так что мы выбираем “e”.

Вх. данные: Текст для анализа, как строка.

Вых. данные: Наиболее частая буква, как строка.

Предусловия:
text содержит только ASCII символы.
0 < len(text) ≤ 105

 def checkio(text):
    # унижаем текст
    foo = text.lower()
    fap = []
    for letter in foo:
        fap.append(letter)
    fap.sort()
    # список не нужных символов
    iskl=['.',' ',",",'!','?','0','1','2','3','4','5','6','7','8','9']
    bar={}
#    print(fap)
    for k in fap:
    # создаём библиотеку в которой ключ - это симвои из текста 
    # а значение - количество использований в тексте экземпляра ключа
        if k in bar and k not in iskl:
            bar[k]+=1
        else:
            bar[k]=1
    
    # создаём новый словарь где ключ и значение инвертированы   
    inv = {value: key for key, value in bar.items()}
    p = max(inv.keys()) # получаем максимальное значение из ключей
    return inv[p]
#print(checkio("Hello World!"))
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
    assert checkio("Hello World!") == "l", "Hello test"
    assert checkio("How do you do?") == "o", "O is most wanted"
#    assert checkio("One") == "e", "All letter only once."
#    assert checkio("Oops!") == "o", "Don't forget about lower case."
#    assert checkio("AAaooo!!!!") == "a", "Only letters."
#    assert checkio("abe") == "a", "The First."
    print("Start the long test")
    assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."
print("The local tests are done.")
Romissevd
 def checkio(text):
    d = {}
    for letter in text.lower():
        if letter.isalpha():
            if letter not in d:
                d[letter] = 1
            else:
                d[letter] += 1
    s = sorted(d.items(), key=lambda item: (-item[1], item[0]))
    return s[0][0]
Rusl
# унижаем текст
порадовало)))
Rusl
красота. правда не понятно что тут происходит.

 s = sorted(d.items(), key=lambda item: (-item[1], item[0]))

 d.items()
превращает словарь в список кортежей
 return s[0][0]
возвращает из первого кортежа первый элемент

 sorted
позволяет отсортировать по второму элементу в кортеже? как?
расскажите что тут за магия?
key=lambda item: (-item[1], item[0])

P.S. подсмотрел на решение этой задачи у других игроков. там вообще запредельное колдунство.
 import string
def checkio(text):
    """
    We iterate through latyn alphabet and count each letter in the text.
    Then 'max' selects the most frequent letter.
    For the case when we have several equal letter,
    'max' selects the first from they.
    """
    text = text.lower()
    return max(string.ascii_lowercase, key=text.count)




This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB