Не знаю, как написать код для развлечения c printStatsFor (число 1: Int, число 2: Int, число 3: Int) - PullRequest
1 голос
/ 13 апреля 2020

Возникли затруднения с заданием

Здравствуйте, я получил задание, которое просит меня написать код функции для следующих задач:

Эта функция должна принимать 3 числа и выведите следующее:

  1. сумма трех чисел
  2. среднее из трех чисел
  3. произведение трех чисел
  4. наименьшее из трех чисел
  5. наибольшее из трех чисел

и начинайте со следующей строки:

func printStatsFor(number1 : Int, number2 : Int, number3 : Int) {

I Я пытался в течение нескольких часов, и я не могу заставить его работать. Я просмотрел inte rnet и попробовал несколько вещей. Я продолжаю добавлять фрагменты кода из Интернета и возвращаюсь к любому руководству, которое я могу найти, однако проблемы не решены, и код просто кажется более сложным и менее сплоченным. Вот последняя итерация:

func printStatsFor(number1 : Int, number2 : Int, number3 : Int) -> Int {

    print("Enter first number")
    var number1 = readLine ()!
    print("Enter second number")
    var number2 = readLine ()!
    print("Enter third number")
    var number3 = readLine ()!
    let totalNum = 3

    var theSum = ((number1 + number2 + number3))
    var intSum = Int(theSum) ?? 0
    var theAverage = ((intSum) / 3)
    var theProduct = ((number1 * number2 * number3))

    if number1 < number2 ; number3 {
        let number1 = smallestInt
    }
    if number2 < number3 ; number1 {
        var number2 = smallestInt
    }
    if number3 < number1 ; number2 {
        var number3 = smallestInt
       }
    if number1 > number2 ; number3 {
        var number1 = biggesttInt
    }
    if number2 > number3 ; number1 {
        var number2 = biggestInt
    }
    if number3 > number1 ; number2 {
        var number3 = biggestInt
       }
    print("The Sum")
    print(theSum)
    print("The Average")
    print(theAverage)
    print("The Product")
    print(theProduct)
    print("The Smallest")
    print(theSmallest)
    print("The Largest")
    print(theLargest)

}
printStatsFor(number1 : Int, number2 : Int, number3 : Int)

Любой совет будет спасением. Я учусь в колледже дистанционно, и обычно я встречаюсь со своим профессором, но это уже невозможно, и мы даже не в одном часовом поясе. Если есть веб-сайт, на который я могу ссылаться как на руководство, если вы не возражаете, указав мне в этом направлении, я был бы очень благодарен. Из-за любви ко мне, я не могу понять, что я делаю неправильно, но мне не хватает какой-то ключевой информации.

1 Ответ

1 голос
/ 13 апреля 2020

Ты слишком много работаешь. Давайте начнем с объявления функции:

func printStatsFor(number1: Int, number2: Int, number3: Int) {

}

Мы видим, что есть 3 параметра (number1, number2, number3), переданных в функции. Это означает, что когда вызывается функция, кто-то уже набрал чисел и говорит вам, что они есть. Например, другая часть кода может сказать printStatsFor(number1: 2, number 2: 5, number3: 14), а затем ожидать, что это будет напечатано на консоли:

21
7
140
2
14

Теперь ваша задача - записать, что идет в теле функции (между фигурные скобки). Задача просит вас вывести на консоль 5 статистических данных, поэтому сначала рассчитайте их и напечатайте:

let sum = number1 + number2 + number3
print(sum)
let average = sum / 3
print(average)
...

Кроме того, вот подсказка для расчета min и max: Swift документация .

Вот и все!

У вас есть ошибка в коде прямо сейчас: if number1 < number2 ; number3 неверный синтаксис в Swift. Если вы хотите сравнить два числа, вы можете сказать if number1 < number2, но вы не можете просто добавить другую переменную. См. Мой совет выше для определения минимума и максимума более чистым способом.

...