@GeighT

Не понимаю как работает return .?

Хотел сделать генератор характеристик для игры , мне нужно вернуть переменную characs после функции chars, но программа никак не выводит сумму трёх наибольших чисел из списка .
Вот код : 
from random import *

def chars(a):
    char = [randint(0,6),randint(0,6),randint(0,6),randint(0,6),randint(0,6)]
    c1 = max(char)
    char.remove(c1)
    c2 = max(char)
    char.remove(c2)
    c3 = max(char)
    char.remove(c3)
    c1 = int(c1)
    c2 = int(c2)
    c3 = int(c3)
    print(a)
    characs = c1 + c2 + c3
    return(characs)
    chars(1)
    print(characs)
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
import random

def chars():
   char = [random.randint(0, 6) for number in range(0)]
   max_numbers = []
   count = 0
   
   def get_max_numbers(last_index=0):
         nonlocal count 
         count += 1
         number = max(char[last_index:])
         max_numbers.append(number)
         if count < 3:
             return get_max_numbers(numbers.index(number, last_index))
         return max_numbers   
   return get_max_numbers()

print("".join(chars(), " "))

Если с твоим кодом то:
from random import *

def chars(a):
    char = [randint(0,6),randint(0,6),randint(0,6),randint(0,6),randint(0,6)]
    c1 = max(char)
    char.remove(c1)
    c2 = max(char)
    char.remove(c2)
    c3 = max(char)
    char.remove(c3)
    c1 = int(c1)
    c2 = int(c2)
    c3 = int(c3)
    print(a)
    characs = c1 + c2 + c3
    return(characs)

print(chars())

Return возвращает значение, то есть если мы в функции add(a, b) напишем return a + b то функция возвратит суму чисел a и b, а эту суму мы уже можем вывести или присвоить переменне, например sum = add(1,2) // 3 или print(add(1,2)) // напечатает 3
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы