Задание
Пользователь вводит число от 1 до 9999 (сумму выдачи в банкомате). Необходимо вывести на экран словами введенную сумму и в конце написать название валюты с правильным окончанием.
Например
7431 – семь тысяч четыреста тридцать один доллар, 2149 – две тысячи сто сорок девять долларов, 15 – пятнадцать долларов, 3 – три доллара. Для решения этой задачи вам необходимо будет применять оператор % (остаток от деления).
исходный код
#include «iostream» using namespace std; int main() < setlocale(LC_ALL, «rus»); int enterNumber = 0; cout > enterNumber; // проверяем входит ли введенное число в заданный диапазон if (enterNumber 9999) cout if ((enterNumber / 10) % 10 == 2) cout > cout
Источник: primat.org
Ошибка в синтаксисе?
Напишите программу, которая по введённому числу определит, какое сейчас время суток.
11.3 k-ая буква слова. «Поколение Python»: курс для начинающих. Курс Stepik
Будем считать, что если введено число от 5 до 10, то это утро, от 11 до 17, то день, с 18 до 22 – вечер, с 23 до 4 – ночь. Предусмотрите, что пользователь может ввести неверное число или вообще слово. Тогда ему стоит написать: Ошибка.
Не забудьте, что в данной задаче числа – это тоже строки.
Формат ввода
Вводится строка.
Формат вывода
Если введено число от 5 до 10, то вывести Утро, от 11 до 17, то День, с 18 до 22 – Вечер, с 23 до 4 – Ночь. Если введено неверное число или слово, то вывести: Ошибка.
hour=input() if hour.isdigit()==1: if (5>=int(hour) and int(hour)<=10): print(123) else: («errord») else: print(«error»)
- Вопрос задан более года назад
- 918 просмотров
Комментировать
Решения вопроса 1
hour=input() if hour.isdigit(): if int(hour) >= 5 and int(hour) = 11 and int(hour) = 18 and int(hour) = 0 and int(hour)
Ответ написан более года назад
А если нужно определять только день и ночь ? В такой постановке вопроса ваш пример будет работать не правильно
day = while True: time = input(«Введите время: «) if time.isdigit() and int(time) ч. соответствует — <>».format(time, name)) break
seven5674, Вы меняете условие задачи. Данный пример решает задачу, описанную автором.
Кирилл Пальчевский, да я ж не против. просто это не решение а подгонка под ответ
seven5674, так а в чём разница с Вашим решением? вы создали лишний объект с заранее записанным временем и значением.
Проверяете условие корректного времени запуская цикл.
По циклу проходите все значения ключей и выводите красивый ответ.
Посчитайте сложность алгоритма своего + создание объектов т.е. потеря ресурсов
Паскаль с Нуля. Циклы с условиями. Урок 6
Кирилл Пальчевский, хм. я же написал в первом сообщении. решите задачу вашим способом если нужно найти только день и ночь ?
seven5674,
Так а что мешает?
Кирилл Пальчевский, мне ничего не мешает только я написал — только день и ночь
В вашем пример условие
elif int(hour) >= 0 and int(hour)
не является однозначным определением ночного времени суток — это подгонка под ответ
seven5674, Это не подгонка под ответ ,а решение поставленной задачи. Если в будущем планируется определить время суток по другому условию, то решение было бы другим.
Источник: qna.habr.com
Задачи на циклы
Ниже даётся детальное объяснение простых задач в помощь тем, кто ранее не программировал и только делает свои первые шаги в программировании. Изучив их, Вам будет легче перейти к более сложным задачам — уровень сложности 2.
Задача №1
Необходимо вывести на экран числа от 1 до 5. На экране должно быть:
Решение:
Решение задачи
class Test <
public static void main ( String [ ] args ) <
for ( int i = 1 ; i < = 5 ; i ++ ) <
System . out . print ( i + » » ) ;
Комментарии к задаче:
Как видно из условия, числа увеличиваются от 1 до 5 с шагом 1. Есть определенная закономерность, не так ли? А значит, необходимо использовать цикл . Осталось только понять какой именно цикл нужно использовать? Мы точно знаем, что числа будут увеличиваться от 1 до 5. А раз мы точно знаем сколько раз будет повторяться цикл, можем использовать цикл for.
Пишем строчку с конструкцией цикла for:
Решение задачи
for ( int i = 1 ; i < = 5 ; i ++ ) <
- int i = 1; — это начальное значение переменной
- i
- i++ — это шаг, с которым будет выполняться цикл. В данном случае мы использовали инкремент, а значит переменная будет увеличиваться на 1. То есть с 1 до 2, с 2 до 3, с 3 до 4, с 4 до 5.
А чтобы после каждого шага кода выводить новое значение переменной, мы написали вот эту строчку:
Решение задачи
System . out . print ( i + » » ) ;
Поскольку нам необходимо вывести числа строчкой: 1 2 3 4 5 мы используем System.out.print ()
Если бы мы использовали System.out.println(); числа бы были выведены на экран вот так:
Обязательно обращайте внимание на то, чтобы количество скобок открывающих < и закрывающих >совпадало. В нашем случае 3 открывающие и 3 закрывающие скобки.
Задача №2
Необходимо вывести на экран числа от 5 до 1. На экране должно быть:
Решение:
class Test <
public static void main ( String [ ] args ) <
for ( int i = 5 ; i > = 1 ; i — ) <
System . out . print ( i + » » ) ;
Комментарии к задаче:
Как видно из условия, числа уменьшаются от 5 до 1 с шагом 1. Есть определенная закономерность, не так ли? А значит, необходимо использовать цикл . Вопрос какой? Мы точно знаем, что числа будут уменьшаться от 5 до 1. А раз точно знаем сколько раз будет повторяться цикл, можем использовать цикл for.
Пишем строчку с конструкцией цикла for:
for ( int i = 5 ; i > = 1 ; i — ) <
- int i = 5; — это начальное значение переменной
- i >=1; — это условие, при котором будет выполняться цикл
- i- — декремент, то есть уменьшение переменной на 1. С 5 до 4, с 4 до 3, с 3 до 2, с 1 до 1
А с помощью этой строчки выводим на консоль значения переменной
System . out . print ( i + » » ) ;