Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52

Необходимо правильно создать цикл в интерактивной программе

23.07.2014, 20:51. Показов 1499. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
могу ошибаться с расположением поста, но не нашел ничего подходящего...
нужно правильно сформулировать цикл (я только изучаю данный язык, работаю в Питон3)

Python
1
2
3
4
5
6
7
8
print ("хочешь я прочитаю твои мысли?")
    a=input()
    if a == "нет":
        print ("Ну и зря!")         
    elif a=="да":
        print ("Я задам несколько вопросов а ты ответь на них первое что пришло на ум!")
    else:
        print("Ничего не понятно! ответь да или нет с маленькой буквы и на русском языке!")
вообщем программа задает вопрос и ждет ответа с консоли
если ответ "нет" тогда программа пишет -"Ну и зря!" и программа после ентера завершается,
если ответ "да" тогда программа пишет "Я задам несколько вопросов а ты ответь на них первое что пришло на ум!" и далее уже пойдет основной код программы с опросами и прочими алгоритмам...
если ответ отличается от "да" или "нет" тогда программа пишет "Ничего не понятно! ответь да или нет с маленькой буквы и на русском языке!" приглашает опять ввести ответ, и так повторяется до тог пока не введут "да" или "нет"
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2014, 20:51
Ответы с готовыми решениями:

Необходимо создать цикл с nc файлами
Доброго времени суток! Я недавно начал использовать Matlab в своей научной работе. Мне поставили задачу построить 132 карты температуры...

Необходимо создать цикл на прибавление 1
Здраствуйте форумчане Необходимо значит создать цикл который прибавляет к некоторому результату +1 это действие выполняется при нажатии...

Необходимо создать бесконечный цикл
Необходимо создать цикл(бесконечный) #include <stdlib.h> #include <stdio.h> #include <sys/resource.h> int main(int argc,...

11
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
23.07.2014, 20:58
Начнём по порядку.
1. Где вы видите цикл?
2. Почему вы решили разместить print не на одном уровне с остальным кодом?
0
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
23.07.2014, 21:39  [ТС]
цикла нет, мне его нужно организовать. так как условие "если" отрабатывает один раз ... то есть например если указываю отличное от "да" или "нет" то программа просто заканчивается, а необходимо повторить ввод до тех пор пока не будет введено - да или нет ... или еще лучше - например если три раза ввели любое значение отличное от "да" и "нет" то на третий раз программа пишет не "Ничего не понятно! ответь да или нет с маленькой буквы и на русском языке!" напишет "Мне надоело читать твои каракули - когда научишься писать запусти меня ещё раз!" ...

брал код с примера...там принт был через таб...я конечно знаю что положение важно,но пока ещё не понял принцип...

Добавлено через 3 минуты
tsar925, З.Ы. спасибо за быстрый ответ

Добавлено через 5 минут
тоесть вообще в итоге должно получиться что то типо такого

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
 
            string a, b, c, d, e;
            Console.WriteLine("Как тебя зовут?\n");
            a = Console.ReadLine();
            Console.WriteLine("Привет " + a);
            Console.WriteLine("Меня зовут Электроника-1!");
            Console.WriteLine(a + " Хочешь я прочитаю твои мысли? \nэто будет маленький психологический тест \nесли ты ответишь не правильно то тебе нужно будет задуматься о твоем развитии");
            b = Console.ReadLine();
 
            while (b != "да" || b != "нет")
            {
                Console.WriteLine("Ничего не понятно! пиши с маленькой буквы - да или нет!");
                b = Console.ReadLine();
                if (b == "да" || b == "нет" )break;
                
            };
 
                if (b == "да")
                {
                    Console.WriteLine("Ответь мне на несколько вопросов");
                    Console.WriteLine("Отвечать нужно быстро и четко! \nБыстро записав ответ нужно нажать Enter и читать следующий вопрос \nЯ обещаю - не буду читать твои ответы! \nвопросов будет не много...Ну что - жми Enter и поехали!!!");
                    Console.ReadLine();
                    Console.WriteLine("НАЗОВИ САМОГО ИЗВЕСТНОГО ПОЭТА (ПЕРВОЕ ЧТО ПРИХОДИТ НА УМ!!!)");
                    c = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ЧАСТЬ ТЕЛА (О ЧЁМ ТЫ ПОДУМАЛ В НАЧАЛЕ - ТО И ПИШИ, СКОРЕЕ!)");
                    d = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ДОМАШНЮЮ ПТИЦУ (БЫСТРЕЕ!ПЕРВОЕ ЖЕ ЧТО ПРИШЛО НА УМ!)");
                    e = Console.ReadLine();
                    Console.WriteLine("теперь я назову то о чём ты думал \nМысли были таковы: \nПУШКИН \nНОС \nКУРИЦА");
                    Console.WriteLine("а твои ответы были:\n" + c + "\n" + d + "\n" + e);
                    Console.ReadLine();
                }
 
                if (b != "да")
                {
                    Console.WriteLine("Если надумаешь - то запусти меня ещё");
                    b = Console.ReadLine();
 
                }
 
 
            }
 
 
        }
    }
это я писал на си шарп...там есть маленький косячок, но работает практически как нужно мне (оптимизация на данном этапе не интересна)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
23.07.2014, 22:11
Лучший ответ Сообщение было отмечено Пинок Под Зад как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
while True:
    answer = input("хочешь я прочитаю твои мысли? (да/нет): ")
    if answer == "нет":
        print("Ну и зря!")
        exit(0)
    elif answer == "да":
        break
    else:
        print("Ничего не понятно! ответь да или нет с маленькой буквы и на русском языке!")
 
print("Я задам несколько вопросов а ты ответь на них первое что пришло на ум!")
print('и дальше пишешь свой код')
Добавлено через 6 минут
Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
через таб
Tab не рекомендуется использовать, рекомендуемой практикой является использование 4 пробелов (почти все нормальные редакторы можно настроить на такое поведение)

Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
знаю что положение важно,но пока ещё не понял принцип
А там в принципе понимать нечего. В Си# ты использовал фигурные скобки, а тут фигурные скобки заменены пробелами.
1
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
24.07.2014, 05:23  [ТС]
tsar925, Спасибо! всё работает отлично.
дописал что хотел.
к стати если ест желание то можете проверить её на ком нить (кто не видел код) - это психологический тест, по теории вероятности чаще всего отвечают то что было написано в коде...я был в шоке когда в году 2008 сослуживец резко прервал разговор и задал три вопроса...я с недоумением ответил (он меня еще торопил и смотрел чётко в глаза) ... после того как он получил ответы , молча протянул мне бумажку, и там были написаны точно те же ответы что я назвал...но суть в том что бумажку он держал давно и слова в ней были написаны за ранее...
вот бы если бы еще каким то образом реализовать отсчет времени, что бы юзер понимал что ответ должен быть скорым и его это психологически бы напрягало и тогда действительно он будет писать первое что на ум придет...

Добавлено через 19 секунд
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
name = input("Как тебя зовут?")
print ("!привет "+name+"!")
while True:
    answer = input("хочешь я прочитаю твои мысли?")
    if answer == "нет":
        print ("Ну и зря!")
        exit(0)
    elif answer == "да":
        break
    else:
        print("Ничего не понятно! ответь да или нет с маленькой буквы и на руском языке!")    
 
answer2 = input ("Я задам несколько вопросов а ты ответь на них первое что пришло на ум! Нажми Ввод")
a = input ("НАЗОВИ САМОГО ИЗВЕСТНОГО ПОЭТА (ПЕРВОЕ ЧТО ПРИХОДИТ НА УМ!!!)")
b = input ("НАЗОВИ ЧАСТЬ ТЕЛА (О ЧЁМ ТЫ ПОДУМАЛ В НАЧАЛЕ - ТО И ПИШИ, СКОРЕЕ!)")
c = input ("НАЗОВИ ДОМАШНЮЮ ПТИЦУ (БЫСТРЕЕ!ПЕРВОЕ ЖЕ ЧТО ПРИШЛО НА УМ!)")
print ("Мысли были: \nПУШКИН \nНОС \nКУРИЦА")
print ("а твои ответыбыли: \n" + a + "\n" + b + "\n" + c )
0
119 / 103 / 53
Регистрация: 13.04.2014
Сообщений: 233
24.07.2014, 14:31
Вообще со работа со временем осуществляется с помощью модуля time. Но я боюсь что с простыми input и print тут не выйдет. Надо будет использовать tkinter или PyQt.
1
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
24.07.2014, 17:47  [ТС]
orAnd, хорошо...то есть это полностью переделывать код или еще будет необходимо что то кроме питона задействовать(не понял - tkinter или PyQt это процедуры или самостоятельные продукты ?)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.07.2014, 21:51
Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
tkinter или PyQt
Это графические библиотеки.
Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
то есть это полностью переделывать код
Это значит частично переделать приложение, сделать из консольного, графическое.
1
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
25.07.2014, 08:08  [ТС]
tsar925, к сожалению я пока что не дошел до того как делают графические приложения...пока что только консоль...но надеюсь в скором времени дойду...а пока что даж не знаю в какой среде это делается...у меня IDLE (Python GUI) питон3 - всё что я знаю...запускаю его-он очень похож на блокнот...слова не продолжает .
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.07.2014, 13:09
Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
к сожалению я пока что не дошел до того как делают графические приложения
Разбираться не начнёшь и дальше этого не узнаешь.
Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
а пока что даж не знаю в какой среде это делается
Писать код, ты можешь где угодно, хоть в IDLE, хоть в стандартном блокноте.
Цитата Сообщение от Пинок Под Зад Посмотреть сообщение
запускаю его-он очень похож на блокнот...слова не продолжает
Если хочешь нормальную IDE, тогда качай pycharm и работай в нём. Это самая лучшая IDE для python. Такого автодополнения как там, не видел ещё не в одной среде.
1
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
25.07.2014, 15:05  [ТС]
tsar925, хорошо!спасибо...как только разживусь хорошим инетом скачаю...дистр поди много весит?
0
119 / 103 / 53
Регистрация: 13.04.2014
Сообщений: 233
25.07.2014, 15:13
Пинок Под Зад, немного инфы про tkinter.
http://habrahabr.ru/post/133337/
http://ru.wikiversity.org/wiki... %E0_Python
http://younglinux.info/book/export/html/48

Добавлено через 3 минуты
Python FAQ: информация для новичков - в этой статье много инфы про разные IDE.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.07.2014, 15:13
Помогаю со студенческими работами здесь

Создать цикл в программе
Здравствуйте. Есть код, нужно чтобы циклом выполнилось три раза. Виснет и в мемо вывод не на все выполнения. var I: Integer; L2:...

Необходимо создать цикл в <scrtipt> с кодом html
В коде представлен общий скрипт вывода графика. У меня в БД есть заявка, которая имеет дату работы, и у заявки есть техники. У каждой...

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

Как мне создать цикл в программе
var x0,x1,x2,x3,x4,y0,y1,y2,y3,y4,dx0,dx1,dx2,dx3,dy0,dy1,dy2,dy3:integer; begin writeln('Введите значения x и y 5 раз начиная с...

Необходимо создать доп. класс с условиями уже в созданной программе
Была создано программа по таким условиям: Дано двумерное прямоугольное поле с целочисленными координатами. В начале в некоторых клетках...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru