Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2018 09:35:26

Efimiy
Зарегистрирован: 2018-03-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Просьба помочь

Я новичок в программировании и python мой первый язык (версия 2.7) учусь я по книге Зед.А.Шоу “Легкий способ выучить python”
В книге встретилось задания создания расширенного пользовательского ввода. Я экспериментировал с кортежами и словарями, в результате чего зашел в тупик. Дело в том, что я хочу понять как проверить, то входят ли данные введенные пользователям в значения словаря. Вот мой не большой код.
slovarchik={“nap”'North','south','east','west','down','up','left','right','back'), “verbs”'Go,stop','kill','eat'),“stopk”'The', ‘in’,'of','from','at','it'), “suh”'Door','bear','princess','cabinet'),“chisla”0,1,2,3,4,5,6,7,8,9)}
first_word'nap','North')
second_word'verbs','go')
sentence=
stuff=raw_input('>')
words=stuff.split()
if stuff in slovarchik.values():
print stuff

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

Офлайн

#2 Март 29, 2018 09:36:42

Efimiy
Зарегистрирован: 2018-03-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Просьба помочь

Я хз почему, но мой код данный сайт почему-то решил заклеить смайликами. Поэтому я прикрепил файл с кодом.

Офлайн

#3 Март 29, 2018 11:27:49

passant
Зарегистрирован: 2018-02-17
Сообщения: 43
Репутация: +  4  -
Профиль   Отправить e-mail  

Просьба помочь

Это ваш код - (не “хз почему”, а потому, что при вводе надо использовать соответствующие теги)

 # -*- coding: utf-8 -*-
slovarchik={"nap":('North','south','east','west','down','up','left','right','back'), "verbs":('Go,stop','kill','eat'),"stopk":('The', 'in','of','from','at','it'), "suh":('Door','bear','princess','cabinet'),"chisla":(0,1,2,3,4,5,6,7,8,9)}
first_word=('nap','North')
second_word=('verbs','go')
sentence=[first_word,second_word]
stuff=raw_input('>')
words=stuff.split()
if stuff in slovarchik.values():
    print stuff
Вопрос-то в чем?

Отредактировано passant (Март 29, 2018 11:28:59)

Офлайн

#4 Март 29, 2018 17:13:43

Efimiy
Зарегистрирован: 2018-03-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Просьба помочь

 # -*- coding: utf-8 -*-
slovarchik={"nap":('North','south','east','west','down','up','left','right','back'), "verbs":('Go','stop','kill','eat'),"stopk":('The', 'in','of','from','at','it'), "suh":('Door','bear','princess','cabinet'),"chisla":(0,1,2,3,4,5,6,7,8,9)}
first_word=('nap','North')
second_word=('verbs','Go')
three_word=('stopk','in')
four_word=('nap','south')
five_word=('nap','east')
six_word=('nap','west')
seven_word=('nap','down')
eight_word=('nap','up')
nine_word=('nap','left')
ten_word=('nap','right')
eleven_word=('nap','back')
twelve_word=('verbs','stop')
threeteen_word=('verbs','kill')
fourteen_word=('verbs','eat')
fivteen_word=('stopk','The')
seventeen_word=('stopk','of')
eigtteen_word=('stopk','from')
nineteen_word=('stopk','at')
twenty_word=('stopk','it')
twenty_one_word=('suh','Door')
twenty_two_word=('suh','bear')
twenty_three_word=('suh','princess')
twenty_four_word=('suh','cabinet')
sentence=[first_word,second_word]
listik=[]
def opening():
    stuff=raw_input('>')
    words=stuff.split()
    listik2=[words]
    if 'North' or 'south' or 'east' or 'west' or 'down' or 'up' or 'left' or 'right' or 'back'  in words:
        if 'North'in words:
            listik.append(first_word)
            listik[words.index('North')]=first_word
        elif 'south' in words:
            listik.append(four_word)
            listik[words.index('south')]=four_word
        elif 'east' in words:
            listik.append(five_word)
            listik[words.index('east')]=five_word
        elif 'west' in words:
            listik.append(six_word)
            listik[words.index('west')]=six_word
        elif 'down' in words:
            listik.append(seven_word)
            listik[words.index('down')]=seven_word
        elif 'up' in words:
            listik.append(eight_word)
            listik[words.index('up')]=eight_word
        elif 'left' in words:
            listik.append(nine_word)
            listik[words.index('left')]=nine_word
        elif 'right' in words:
            listik.append(ten_word)
            listik[words.index('right')]=ten_word
        elif 'back' in words:
            listik.append(eleven_word)
            listik[words.index('back')]=eleven_word
        return listik
	

Офлайн

#5 Март 29, 2018 17:17:37

Efimiy
Зарегистрирован: 2018-03-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Просьба помочь

Я хочу сделать так что бы данная функция возвращала список с кортежами даже в том случае если введено несколько слов подходящих под условия.То есть, что-бы даже если одно из условий уже было выполнено остальные тоже рассматривались. В голове есть идея как это реализовать, но боюсь она займет около 500 строк.(я подумывал вложить эти же условия в условия.И да это плохая идея, я это понимаю, но пока ничего лучше не придумал)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version