Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 10, 2017 17:41:10

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

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

m_env
Других программ еще не использовали
Ну так возьмите и поиспользуйте. Какой черт с вами говорить о вкусе устриц, если вы их ни разу не пробовали?



Офлайн

#2 Дек. 11, 2017 13:54:36

artyom
Зарегистрирован: 2017-12-10
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

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

КАК ЗАГРУЗИТЬ ЖЕЛАЕМОЮ КАРтИНКУ В ПИТОН 3 НА МАКЕ????

Офлайн

#3 Дек. 12, 2017 14:12:19

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

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

artyom
КАК ЗАГРУЗИТЬ ЖЕЛАЕМОЮ КАРтИНКУ В ПИТОН 3 НА МАКЕ????
В питон 2 уже получилось? Проблема только с третьим? Мак пробовали включать/выключать?
Если такая ошибка:
 NameError: name 'OPEN' is not defined
то попробуйте отключить капс.

Офлайн

#4 Дек. 25, 2017 22:05:53

Rusl
Зарегистрирован: 2017-10-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

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

возникла проблема.

всё, сам решил.



python: 3.6.6 64-bit
система: windows 10, 64-bit
редактор: PyCharm 2018.1.4 (Community Edition)

учебник: Изучаем Python. Программирование игр, визуализация данных, веб-приложения. Мэтиз Эрик.

Отредактировано Rusl (Янв. 8, 2018 19:08:58)

Прикреплённый файлы:
attachment alien_invasion.py (677 байт)

Офлайн

#5 Дек. 25, 2017 22:36:42

AlexBYN
Зарегистрирован: 2017-12-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

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

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

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 (Дек. 25, 2017 22:42:36)

Прикреплённый файлы:
attachment chap5- rekordi.py (1,4 KБ)

Офлайн

#6 Дек. 25, 2017 22:38:06

AlexBYN
Зарегистрирован: 2017-12-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

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

отступы пропали, тогда лучше файлик глянуть.

Офлайн

#7 Дек. 25, 2017 23:18:26

Rusl
Зарегистрирован: 2017-10-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

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

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. может книга была распознана корява и слово состоит из символов разного языка. я везде копипастнул одно и заработало.



python: 3.6.6 64-bit
система: windows 10, 64-bit
редактор: PyCharm 2018.1.4 (Community Edition)

учебник: Изучаем Python. Программирование игр, визуализация данных, веб-приложения. Мэтиз Эрик.

Отредактировано Rusl (Дек. 26, 2017 22:53:24)

Офлайн

#8 Янв. 10, 2018 13:50:19

Rusl
Зарегистрирован: 2017-10-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

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

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

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

Дан текст, который содержит различные английские буквы и знаки препинания. Вам необходимо найти самую частую букву в тексте. Результатом должна быть буква в нижнем регистре.
При поиске самой частой буквы, регистр не имеет значения, так что при подсчете считайте, что “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.")



python: 3.6.6 64-bit
система: windows 10, 64-bit
редактор: PyCharm 2018.1.4 (Community Edition)

учебник: Изучаем Python. Программирование игр, визуализация данных, веб-приложения. Мэтиз Эрик.

Офлайн

#9 Янв. 10, 2018 18:37:35

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

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

 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
# унижаем текст
порадовало)))

Офлайн

#10 Янв. 10, 2018 23:17:13

Rusl
Зарегистрирован: 2017-10-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

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

красота. правда не понятно что тут происходит.

 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)






python: 3.6.6 64-bit
система: windows 10, 64-bit
редактор: PyCharm 2018.1.4 (Community Edition)

учебник: Изучаем Python. Программирование игр, визуализация данных, веб-приложения. Мэтиз Эрик.

Отредактировано Rusl (Янв. 10, 2018 23:19:45)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version