Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Sergey007iv
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 7
#1

Генеалогическое древо + игра Поле чудес с использованием функций на 3.0 версии Питона

23.04.2015, 16:59. Просмотров 824. Ответов 2
Метки нет (Все метки)

Прога 1. Нужно написать программу Генеалогическое древо (ввод имени человека - вывод имени отца) с возможностью замены имён. Привожу кусок проги. Проблема в том, что изменение переменной names[3] происходит в цикле 10 строчки if father1=='t', изменения во 2 строчке кода в реальности не происходит. Как можно добиться изменения во 2 строчке кода?
Код
print('Программа Генеалогическое древо')
names=['Василий', 'Иван', 'Антон', 'Алексей']
a=int
while a:
    name1=input('Выберите имя (Василий, Иван, Антон): ')

    if name1=='Василий':
        print('Отец Василия: ', names[3])
        father1=input('Если Вы хотите заменить имя отца, нажмите t, в противном случае f: ')
        if father1=='t':
            name2=input('Введите новое имя: ')
            names.insert(3,name2)
            print ('Отлично, теперь отцом Василия является', names[3])
И 2 прога. Программа уходит в зацикливание на 11 строчке, если же 12 строчкой дописать breake, то def main_part вовсе не выполняется. Подозреваю, что переменная 'a' в main_part не имеет значения от 1 до 4. Вопрос: как добиться связи между def random_number() и def main_part()? ЗЫ: По заданию обязательно нужно сделать программу через функции.
Код
a=int

def random_number(): #Генерация случайного числа для выбора случайного вопроса.
    import random
    while a:
        a=random.randint(1,4)

def introduction():
    print('Вашей задачей является отгадать слово из 8 букв.')
    while a:
        print ('Вам попался вопрос..')

def main_part():
    while a == 1:
        print ('Как называется ягода небольшого размера, красного цвета и сладкая на вкус?')
        w = input ('Введите q, чтобы сыграть в Поле Чудес, или же введите e, чтобы получить подсказку: ')
        if w == 'q':
            x = input ('Итак, ваш ответ: ')
            if x == 'клубника':
                print ('Поздравляем, вы угадали!')
            else:
                print ('К сожалению, Вы не угадали..')
            break
        if w == 'e':
            print ('Первые две буквы: кл')
#Далее идут while a==2 ... while a==4. 
def main():
    random_number
    introduction()
    main_part()

main() #Старт проги

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

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2015, 16:59
Ответы с готовыми решениями:

Как криптовать exe файлы c использованием питона?
Я в криптинге полный нуль! Дайте статьи где все объясняется.

Игра Поле чудес
Есть кто писал? Добавлено через 14 минут Вопросы у меня в БД (Microsoft...

игра поле чудес
Игра "Поле чудес". Задать слово. Последовательно вводить буквы и после ввода...

Игра по типу телешоу Поле Чудес
Всем привет ребята, сразу скажу знания пхп у меня не сильные по этому прошу...

Поле чудес (мини-игра) - подобрать слово под шаблон
Доброго времени суток! Помогите пожалуйста с написанием вот такой мини игрушки...

2
alex925
2664 / 2276 / 627
Регистрация: 19.03.2012
Сообщений: 8,826
23.04.2015, 17:51 #2
Лучший ответ Сообщение было отмечено Sergey007iv как решение

Решение

Цитата Сообщение от Sergey007iv Посмотреть сообщение
Прога 1
Это надо было?
Python
1
2
3
4
5
6
7
8
9
10
11
print('Программа Генеалогическое древо')
names = ['Василий', 'Иван', 'Антон', 'Алексей']
 
while True:
    name = input('Выберите имя (Василий, Иван, Антон): ')
    if name == 'Василий':
        print('Отец Василия: {}'.format(names[3]))
        father1 = input('Если Вы хотите заменить имя отца, нажмите t, в противном случае f: ')
        if father1 == 't':
            names[3] = input('Введите новое имя: ')
            print('Отлично, теперь отцом Василия является', names[3])
1
Sergey007iv
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 7
23.04.2015, 22:21  [ТС] #3
alex925, спасибо, первая программа в шляпе
Если кому интересно: знакомый подсказал, что изменение имён можно было делать через словари в формате txt, но я не умею оперировать данными в txt в данный момент, поэтому это был не вариант для меня.

Добавлено через 3 часа 21 минуту
Also, 2 программу я доделал сам.
Код
a=int
#Генерацию случайных чисел я перенёс в глобальные переменные, чтобы все функции её видели.
import random
while True:
    a=random.randint(1,4)
    break

def introduction():
    print('Вашей задачей является отгадать слово из 8 букв.')
    while a:
        input ('Вам попался вопрос..')
        return #Здесь я поставил return, чтобы программа не зацикливалась на бесконечном выполнении только этой функции.

def main_part():
    while a == 1:
        print ('Как называется ягода небольшого размера, красного цвета и сладкая на вкус?')
        w = input ('Введите q, чтобы сыграть в Поле Чудес, или же введите e, чтобы получить подсказку: ')
        if w == 'q':
            x = input ('Итак, ваш ответ: ')
            if x == 'клубника':
                print ('Поздравляем, вы угадали!')
            else:
                print ('К сожалению, Вы не угадали..')
            break
        if w == 'e':
            print ('Первые две буквы: кл')
        
#Далее идут варианты с while a == 2 ... a==4.

def main():
    introduction()
    main_part()

main() #Запуск функции main
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2015, 22:21

Генеалогическое древо
Помогите кто нибудь с Прологом, по заданию нужно: родитель/3. женщина/1....

Программа генеалогическое древо
Помогите пожалуйста!!! Надеялась что дадут задание сделать сайт, т.к больше...

Генеалогическое древо в vb.net
Друзья, не могли бы вы помочь в создании генеалогического древа. Я, как то еще...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru