Работа светофора для пешеходов запрограммирована следующим образом в начале каждого часа в течении

(может быть, не совсем по назначению использую сайт)

Задача:

Работа светофора для пешеходов запрограммирована следующим образом: в
начале каждого часа в течение трех минут горит зеленый сигнал, затем в течение
двух минут — красный, в течение трех минут — опять зеленый и т. д.
Дано вещественное число t, означающее время в минутах, прошедшее с начала
очередного часа. Определить, сигнал какого цвета горит для пешеходов в
этот момент.

Я предлагаю такой код, но можно ли его как-нибудь оптимизировать, сделать проще?

    Time_Left = int(input('enter time  in minutes since begining of hour'))

'''Узнаем число уже прошедших циклов "зеленый-красный" и берем ЦЕЛУЮ часть от деления'''
x = Time_Left // 5

'''Находим разницу между Time_Left и числом полных пройденных циклов, 
   умноженных на время одного цикла "зеленый-красный"'''
l = Time_Left - (x * 5)

if l == 0:
    print('it is red')
elif l == 1:
    print('it is green')
elif l == 2:
    print('it is green')
elif l == 3:
    print('it is green')
elif l == 4:
    print('it is red')
elif l == 5:
    print('it is red')

Поясню почему так сделал:

Построим таблицу зависимости цвета от времени:

g — зеленый

r — красный

 1. -- g
 2. -- g
 3. -- g
 4. -- r
 5. -- r
 6. -- g
 7. -- g
 8. ...

5 минут — это полный цикл, и мы знаем какой минуте соответствует какой сигнал. Соответственно, если мы узнаем разницу между настоящим моментом времени и целым количеством пройденных циклов и основываясь на том, что:

 1. -- g
 2. -- g
 3. -- g
 4. -- r
 5. -- r

Мы можем сделать вывод о том, какой цвет сейчас горит.

1 / 1 / 0

Регистрация: 17.11.2011

Сообщений: 42

1

Определить, сигнал какого цвета горит для пешехода в этот момент

29.12.2011, 12:27. Показов 7152. Ответов 1


Работа светофора для пешеходов запрограммирована следующим образом: начиная с начала каждого часа, в течение трех минут горит зеленый сигнал, затем в течение двух минут- красный, в течение трех минут- опять зеленый и т.д. Дано вещественное число t, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешехода в этот момент.



0



urukhi1

12 / 12 / 16

Регистрация: 27.12.2011

Сообщений: 33

29.12.2011, 15:57

2

Лучший ответ Сообщение было отмечено arsalan как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
 
var
  t: integer;
 
begin
  write('сколько минут прошло с начала часа? - ');
  readln(t);
    if (t mod 5) in [1..3] then
      write('Горит зеленый сигнал')
    else
      write('Горит красный сигнал');
end.



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

29.12.2011, 15:57

2

stuzer

Feb 2nd, 2022

526

0

Never

Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!

  1. Подвиг 10. Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зеленый сигнал, затем в течение двух минут – красный, в течение трех минут – опять зеленый и т. д. Дано вещественное число t, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешеходов в этот момент. На экран вывести сообщение (без кавычек) «green» — для зеленого и «red» — для красного.

  2. решение

  3. x=float(input())

  4. print(‘green’ if 0 < x % 5 <= 3 else ‘red’)

  5. альтернатива

  6. t = float(input())

  7. if t <= 3:

  8. print(«green»)

  9. elif t <= 5:

  10. print(«red»)

  11. elif t <= 8:

  12. print(«green»)

  13. elif t <= 10:

  14. print(«red»)

  15. elif t <= 13:

  16. print(«green»)

  17. elif t <= 15:

  18. print(«red»)

  19. elif t <= 18:

  20. print(«green»)

  21. elif t <= 20:

  22. print(«green»)

  23. elif t <= 23:

  24. print(«red»)

  25. elif t <= 25:

  26. print(«green»)

  27. elif t <= 28:

  28. print(«red»)

  29. elif t <= 30:

  30. print(«green»)

  31. elif t <= 33:

  32. print(«red»)

  33. elif t <= 35:

  34. print(«green»)

  35. elif t <= 38:

  36. print(«red»)

  37. elif t <= 40:

  38. print(«green»)

  39. elif t <= 43:

  40. print(«red»)

  41. elif t <= 45:

  42. print(«green»)

  43. elif t <= 48:

  44. print(«red»)

  45. elif t <= 50:

  46. print(«green»)

  47. elif t <= 53:

  48. print(«red»)

  49. elif t <= 55:

  50. print(«green»)

  51. elif t <= 58:

  52. print(«red»)

  53. elif t <= 60:

  54. print(«green»)

package com.javarush.task.task04.task0416;

/*
Переходим дорогу вслепу;
Работа светофора для пешеходов запрограммирована следующим образом:

в начале каждого часа в течение трех минут горит зелёный сигнал,
затем в течение одной минуты - жёлтый,
а потом в течение одной минуты - красный,
затем опять зелёный горит три минуты и т. д.

Ввести с клавиатуры вещественное число t, означающее время в минутах, прошедшее с начала очередного часа.
Определить, сигнал какого цвета горит для пешеходов в этот момент.
Результат вывести на экран в следующем виде:
"зелёный" - если горит зелёный цвет,
"жёлтый" - если горит жёлтый цвет,
"красный" - если горит красный цвет.
*/

import java.io.*;
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) throws Exception {
        //напишите тут ваш код
        Scanner sc = new Scanner(System.in);
        float t = sc.nextFloat();

        if (t>60) {
            int k = (int) (t / 60);
            t = t-60*k;
        }

        int a = (int) (t/5);

        if (t>0) {
                if (t>3 + 5 * a && t<=4 + 5 * a) System.out.println("жёлтый");
                if (t>4 + 5 * a && t<=5 + 5 * a) System.out.println("красный");
                if (t>5 * a && t<=3 + 5 * a) System.out.println("зелёный");
            }
        }
    }

Не выполнены все требования. Не могу понять, что не так…

Не выполнены все требования. Не могу понять, что не так…

package com.javarush.task.task04.task0416;

/*
Переходим дорогу вслепую
Переходим дорогу вслепую
Работа светофора для пешеходов запрограммирована следующим образом:
в начале каждого часа в течение трех минут горит зелёный сигнал,
затем в течение одной минуты — жёлтый,
а потом в течение одной минуты — красный,
затем опять зелёный горит три минуты и т. д.
Ввести с клавиатуры вещественное число t, означающее время в минутах, прошедшее с начала очередного часа.
Определить, сигнал какого цвета горит для пешеходов в этот момент.
Результат вывести на экран в следующем виде:
«зелёный» — если горит зелёный цвет,
«жёлтый» — если горит жёлтый цвет,
«красный» — если горит красный цвет.
Пример для числа 2.5:
зелёный Пример для числа 3:
жёлтый Пример для числа 4:
красный Пример для числа 5:
зелёный
Требования:
1. Программа должна считывать вещественное число c клавиатуры.
2. Программа должна выводить текст на экран.
3. Если горит зелёный цвет, необходимо вывести текст: «зелёный»
4. Если горит жёлтый цвет, необходимо вывести текст: «жёлтый»
5. Если горит красный цвет, необходимо вывести текст: «красный»
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
*/

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.io.IOException;
import java.io.IOException;

public class Solution {
public static void main(String[] args) throws Exception {
//BufferedReader number = new BufferedReader(new InputStreamReader(System.in));
// int numberOne = Integer.parseInt(number.readLine());
//double t = numberOne; // время в минутах, прошедшее с начала очередного часа.
// Определить, сигнал какого цвета горит для пешехода в этот момент.
Scanner scanner = new Scanner(System.in);
double t = scanner.nextDouble() ;
if (t<=3)
System.out.println(«зелёный»);
else if (t>3 && t<4)
System.out.println(«жёлтый»);
else if (t>4 && t<5)
System.out.println(«зелёный»);

}
}

Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.

Модуль 4.1 Условный оператор if. Конструкция if-else.

Вводятся два вещественных числа в одну строку через пробел. Вывести на экран наибольшее из чисел. Задачу решить с помощью условного оператора.

# Получаем 2 строку и переводим в список
a = list(map(float,input().split()))
# Сравниваем 2 числа из списка под индексом 0 и 1
if a[0] > a[1]:
    print(a[0])
else:
    print(a[1])

Вводится слово. Необходимо определить, является ли это слово палиндромом (одинаково читается вперед и назад, например, АННА). Регистр букв не учитывать. Если введенное слово палиндром, на экран вывести ДА, иначе — НЕТ.

# Присваиваю исходное слово
word_any = input()
# С помощь метода .lower() перевожу символы в нижний регистр
lower_simbols = word_any.lower()
# Сравниваю слова обычное и слово перевёрнутое
if lower_simbols == lower_simbols[::-1]:
    print('ДА') # Если слова одинаковые вывожу ДА
else:
    print("НЕТ")# Иначе вывожу НЕТ

Вводятся два целых положительных числа m и n в одну строку через пробел. Если число m делится нацело на число n, то вывести на экран частное от деления (результат деления) в виде целого числа. В противном случае вывести сообщение «m на n нацело не делится» (без кавычек) и вместо m и n подставить соответствующие числа, например: «13 на 2 нацело не делится».

# Множественное присваивание
m, n = map(int, input().split())
# Проверяем делится ли число на цело
if m % n == 0:
    print(int(m/n)) # Выводим в консоль частное от деления
else:
    print(f"{m} на {n} нацело не делится") # Иначе.

Вводятся три целых положительных числа в одну строку через пробел. Убедиться, что первые два числа — это катеты прямоугольного треугольника, а третье — его гипотенуза. (Подсказка: проверка делается по теореме Пифагора 

Решение модуля 4.1 Добрый, добрый Python

). Если проверка проходит (истинна), то вывести на экран ДА, иначе — НЕТ.

# Множественное присваивание
a, b, c = map(int, input().split())

# Проверяем выполнения условия задания
# проверяем равна ли сумма квадратов стороны a и b, квадрату стороны c
if c**2 == a**2 + b**2:
    print("ДА") # Если условие выполняет выводим ДА
else:
    print("НЕТ")# Иначе выводим НЕТ

Вводится четырехзначное число. Проверить, что оно оканчивается на цифру 7. Вывести на экран ДА, если это так и НЕТ — в противном случае.

# Присваиваю данные в переменную
list_num = list(input())

# Проверить, что оно оканчивается на цифру 7
# Преобразую из строкового значения в int обращаюсь к последнему элементу и сравниваю
if int(list_num[-1]) == 7: 
    print("ДА") # Если условие выполняется выводим ДА
else:
    print("НЕТ") # Иначе выводим НЕТ

Вводится слово. Проверить, что в этом слове присутствуют все три буквы: t, h и o (в произвольном порядке). Реализовать программу с помощью одного условного оператора. Если проверка проходит, вывести ДА, иначе — НЕТ.

# Присваиваю данные в переменную
list_symbol = list(input())

# Сохраняю кортеж с буквами
tup = ('t', 'h', 'o')
# Проверяю что в этом слове присутствуют все три буквы: t, h и o
if 't' in list_symbol and 'h' in list_symbol and 'o' in list_symbol:
    print("ДА") # Если условие выполняется выводим ДА
else:
    print("НЕТ") # Иначе выводим НЕТ

Вводится список городов в одну строку через пробел. Если в этом списке присутствует город Москва, то удалить его. Вывести на экран результирующий список в виде строки с городами через пробел.

# Присваиваю данные в переменную
list_word = list(input().split())

# Если в этом списке присутствует город Москва
if 'Москва' in list_word:
    # то удаляю его с помощью метода .remove('Москва')
    list_word.remove('Москва') 
    print(*list_word) # Вывожу результат в консоль
else:
    print(*list_word) # Вывожу результат в консоль

Вводятся четыре целых числа a, b, c, d в одну строку через пробел. Определить, войдет ли в конверт с внутренними размерами a и b мм прямоугольная открытка с размерами с и d мм. Для размещения открытки в конверте необходим зазор в 1 мм с каждой стороны. Открытку можно поворачивать на 90 градусов. Вывести ДА, если входит и НЕТ — если не входит.

# Множественное присваивание с помощью функции map
a, b, c, d = map(int, input().split())

# Определяю войдет ли открытка в конверт
# Сравниваем стороны открытки чтобы соответствовали сторонам конверта
# -1 мм, сравниваем по обоим сторонам
if ((a-1) > c and (b-1) > d) or ((a-1) > d and (b-1) > c):     
    print('ДА') # Вывожу результат в консоль
else:
    print('НЕТ') # Вывожу результат в консоль

Вводится шестизначное число. Определить, является ли оно счастливым. (Счастливым называют такое шестизначное число, в котором сумма его первых трех цифр равна сумме его последних трех цифр.). Вывести ДА, если счастливое и НЕТ — в противном случае.

# Сохраняю данные в переменную в виде списка
num_0 = list(input())

num_1 = list(map(int, num_0[:3])) # Сохраняю в первую переменную первые три цифра в списке
num_2 = list(map(int, num_0[3:])) # Сохраняю во вторую переменную последние три цифры в списке
# Проверяю равна сумма первых трех цифр, сумме его последних трех цифр
if sum(num_1) == sum(num_2):
    print('ДА') # Если равна вывожу ДА
else:
    print('НЕТ') # Если неравна вывожу НЕТ

Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зеленый сигнал, затем в течение двух минут – красный, в течение трех минут – опять зеленый и т. д. Дано вещественное число t, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешеходов в этот момент. На экран вывести сообщение (без кавычек) «green» — для зеленого и «red» — для красного.

# Сохраняю данные в переменную в виде списка
time_signal = float(input())

# Проверяю Если таймер больше 0 и меньше 3 или остаток от деления введенного времени больше 0 и меньше 3 тогда светится зеленый
if (time_signal > 0 and time_signal < 3) or (time_signal % 5 > 0 and time_signal % 5 < 3):
    print('green')
else:
    print('red')

# Логика с первым все понятно если так как первые три минуты гори зеленый то это подпадает под условия задания.
# Дальше Если при делении на 5 остаток о деления будет больше 0 но меньше трех, мы получаем значит светится зеленый сигнал светофора
# 4 % 5 = 4 

Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа…

1 Ответ






ответил

29 Май, 20


от
hacker5222_zn

(84 баллов)



t = int(input())

if t <= 3:</p>

  print(«GREEN»)

elif t <= 5:</p>

  print(«RED»)

elif t <= 8:</p>

  print(«GREEN»)

elif t <= 10:</p>

  print(«RED»)

elif t <= 13:</p>

  print(«GREEN»)

elif t <= 15:</p>

  print(«GREEN»)

elif t <= 18:</p>

  print(«RED»)

elif t <= 20:</p>

  print(«GREEN»)

elif t <= 23:</p>

  print(«RED»)

elif t <= 25:</p>

  print(«GREEN»)

elif t <= 28:</p>

  print(«RED»)

elif t <= 30:</p>

  print(«GREEN»)

elif t <= 33:</p>

  print(«RED»)

elif t <= 35:</p>

  print(«GREEN»)

elif t <= 38:</p>

  print(«RED»)

elif t <= 40:</p>

  print(«GREEN»)

elif t <= 43:</p>

  print(«RED»)

elif t <= 45:</p>

  print(«GREEN»)

elif t <= 48:</p>

  print(«RED»)

elif t <= 50:</p>

  print(«GREEN»)

elif t <= 53:</p>

  print(«RED»)

elif t <= 55:</p>

  print(«GREEN»)

elif t <= 58:</p>

  print(«RED»)

elif t <= 60:</p>

  print(«GREEN»)

Понравилась статья? Поделить с друзьями:
  • Разработать общий бланк организации тип организации предприятия указан в задании состав реквизитов
  • Разрешается ли проехать через жд переезд если вы буксируете транспортное средство на гибкой сцепке
  • Расположите обязательства компании в порядке увеличения срочности их погашения от наиболее срочных
  • Рассмотри рисунок продолжи предложение за одинаковое время работы данные электроприборы потребляют
  • Расстояние между городами автомобилист проехал за 3 часа двигаясь со скоростью 50 км ч возвращаясь