Инструменты пользователя

Инструменты сайта


cg

Это старая версия документа!


Комментарии к проектам на codingame

ONBOARDING (Вводный)

https://www.codingame.com/training/easy/onboarding

Условие Обучающая миссия для всех новичков: ваша программа должна найти, какая из двух целей является ближайшей.

Цель Ваша программа должна уничтожать вражеские корабли, стреляя в ближайшего врага на каждом ходу.

import sys # импорт системной библиотеки
import math # импорт библиотеки математических функций 
 
 
# "бесконечный" цикл игры (останавливается извне, когда тесты будут пройдены)
while True:
    enemy_1 = input()  # имя первого врага 
    dist_1 = int(input())  # дистанция до первого врага
    enemy_2 = input()  # имя второго врага
    dist_2 = int(input())  # дистанция до второго врага 
 
    # Здесь надо написать программу, которая находит имя врага, который ближе к защищаемому объекту.
    # Если требуется вывести отладочную информацию в консоль, следует использовать:
    # print("Debug messages...", file=sys.stderr)
    # где вместо "Debug messages...", можно выводить нужные сообщения или значения переменных...
 
 
    # Вместо фразы "name of the enemy" вывести значение переменной (enemy1 или enemy2), которое принадлежит врагу,
    # который находится ближе к защищаемому объекту.
 
    print("name of the enemy")

Справочный материал

http://ai.lector.ru/?go=python01 - Экспресс-курс по Python: Лекция №1 Знакомство и первая программа

THE DESCENT (вынужденная посадка на планету)

https://www.codingame.com/training/easy/the-descent

ЧТО Я БУДУ ИЗУЧАТЬ?

Циклы

Решение этой головоломки поможет вам понять концепцию циклов и способы получения максимального значения из списка целых чисел.

Справочные материалы

Задача

Простая проблема - опробовать платформу CodinGame: ваша программа должна найти самую высокую гору из списка гор.

Цель

Уничтожьте горы до того, как ваш корабль столкнется с одним из них. Для этого стреляйте в самую высокую гору на своем пути.

import sys
import math
 
# "Бесконечный" цикл, который заканчивается извне, когда пройдены все тесты.
# В каждом шаге цикла while передается набор из 8 значений (высоты 8 вершин).
# Необходимо найти номер самой высокой вершины в каждом шаге цикла while.
while True:
 
    for i in range(8):
        mountain_h = int(input())  # на каждом из 8 шагов цикла, считывается высота одной из 8 вершин
 
    # To debug: print("Debug messages...", file=sys.stderr)
 
    # Для того, чтобы разрушить гору, следует написать индекс (номер) самой высокой вершины.
    # Замените "4" на имя переменной, которая хранит номер самой высокой вершины.
    print("4")
 
 

TEMPERATURES (температуры)

ЧТО Я БУДУ ИЗУЧАТЬ?

Условные операторы, циклы, массивы.

Условие

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

Инструкция

Напишите программу, которая печатает температуру, ближайшую к 0 среди вводимых данных. Если два числа одинаково близки к нулю, положительное целое число должно считаться ближайшим к нулю (например, если температуры равны -5 и 5, то отобразите 5).

Ввод данных

Строка 1: N , количество измерений температуры для анализа

Строка 2: значения измерений температуры, представленные в виде целых чисел в диапазоне от -273 до 5526

Вывод

Выведите 0 (ноль), если температура не указана. В противном случае отобразите температуру, ближайшую к 0.

Ограничения

0 ≤ N <10000

Пример

Ввод                   Вывод
                        
5                      1      
1 -2 -8 4 5
import sys 
import math
 
 
n = int(input())  # количество измерений температуры 
# функция split() преобразует строку значений, разделенных пробелами в список (массив)
# пример:
# >>> a = "1 -2 -8 4 5"
# >>> a.split()
# >>> ['1', '-2', '-8', '4', '5']
for i in input().split(): 
    # t: a temperature expressed as an integer ranging from -273 to 5526
    t = int(i)
 
# Write an action using print
# To debug: print("Debug messages...", file=sys.stderr)
 
print("result")
cg.1581061203.txt.gz · Последние изменения: 2020/02/07 10:40 — super_admin