Форум сайта python.su
0
print ('Приветствую Вас в системе учета сотрудников. (pre alfa test)') print ('Наберите фамилию сотрудника для поиска в базе') print ('Наберите "add" для добавления новых сотрудников и "quit" для выхода') import sys d1 = {1: 'fdsfds', 2: 'fdsfsdf'} x=input() if x == 'quit': print ('До встречи!') sys.exit() if x in d1.keys(): print (d1[x], x) else: print ('test') if x == 'add': add_name()
Отредактировано xapepama (Апрель 22, 2016 22:18:08)
Офлайн
В каком случае у вас должны выводиться значения из словаря?
Офлайн
20
xapepamaКлючи 1 и 2 словаря d1 - это целые числа (тип int). А значения, возвращаемые input() - это строки “1” и “2” (тип str). Переделайте ключи в словаре с чисел на строки, либо приведите значение, возвращаемое input(), к типу int.
Словарь d1 - есть, ключ 1 и 2 есть, но если их ввести - оно никак не реагирует.
Отредактировано old_monty (Апрель 22, 2016 23:10:46)
Офлайн
6
Попробуйте так
x=int(input())
Офлайн
0
flaskyВ случае, если такие ключи есть. Ввод совпадает со значением ключа.
В каком случае у вас должны выводиться значения из словаря?
old_monty
Ключи 1 и 2 словаря d1 - это целые числа (тип int). А значения, возвращаемые input() - это строки “1” и “2” (тип str). Переделайте ключи в словаре с чисел на строки, либо приведите значение, возвращаемое input(), к типу int.
FirikЯ недавно начал, всего месяца 2 читать книгу Лутца. Читаешь - все понятно. Начинаешь, что то делать - упускаешь “мелочь” и сидишь тупишь..
Попробуйте так
Отредактировано xapepama (Апрель 23, 2016 01:20:36)
Офлайн
0
Раз я начал тут задавать глупые вопросы, продолжу не плодя темы.
Пытаюсь запустить бесконечный цикл с несколькими действиями. После этих действий цикл должен продолжится.. Не получается.
while x in d1.keys(): print (d1[x], x) if x == quit: break else: print ('No value in base, repeat..') if x == quit: break
Отредактировано xapepama (Апрель 23, 2016 01:24:08)
Офлайн
568
break внутри else не имеет смысла
После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно
Офлайн
0
FishHook
break внутри else не имеет смысла
После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно
Офлайн
568
xapepamaВ смысле? Вы чего-то сильно недопонимаете. Конечно вы не можете изменять синтаксис языка.
Можно ли сделать так, что бы блок else выполнялся (по условию)
xapepama
цикл выполнялся бы вечно,
while True: print(1)
Офлайн
0
FishHook
while True:
print(1)


Офлайн