Как повторить заданную мной функцию несколько раз?

import random 
def repit_num():
    num1=[1,2,3,4,5,6,7,8,9]
    num2=[1,2,3,4,5,6,7,8,9]
    a=random.choice(num1)
    b=random.choice(num2)
    print(a,'',b)


for repit_num() in range(11):
    repit_num()

Ответы (5 шт):

Автор решения: RomanR
for i in range(11):
    repit_num()
→ Ссылка
Автор решения: Zhihar

два одинаковых способа (просто в 2 и 1 строку)

import random

def repit_num():
    num1=[1,2,3,4,5,6,7,8,9]
    num2=[1,2,3,4,5,6,7,8,9]
    a=random.choice(num1)
    b=random.choice(num2)
    print(a,'',b)


# способ 1
for i in range(11):
    repit_num()

# способ 2
[repit_num() for i in range(11)]

А если определить функцию как def repit_num(x), то можно и 3 способ использовать

import random

def repit_num(tmp):
    num1=[1,2,3,4,5,6,7,8,9]
    num2=[1,2,3,4,5,6,7,8,9]
    a=random.choice(num1)
    b=random.choice(num2)
    print(a,'',b)

[*map(repit_num, range(11))]

но это изврат уже

→ Ссылка
Автор решения: MarianD
for __ in range(11):
    repit_num()

Тем вызов функции повторяется 11 раз — для чисел 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 из range(11).

Так как эти числа самые не используются, принято не употреблять в цикле for обычное имя переменной, как например i или element, а специальное — один или 2 знака подчёркивания (_).

→ Ссылка
Автор решения: Владислав Харламов

Можно с помощью декораторов :)

from functools import update_wrapper
import random


def repeat_function(n):
    def repeat_function_inner(f):
        update_wrapper(repeat_function_inner, f)

        def inner(*args, **kwargs):
            for i in range(n):
                f(*args, **kwargs)

        return inner
    return repeat_function_inner

@repeat_function(15)
def repit_num():
    num1=[1,2,3,4,5,6,7,8,9]
    num2=[1,2,3,4,5,6,7,8,9]
    a=random.choice(num1)
    b=random.choice(num2)
    print(a,'',b)


repit_num()
→ Ссылка
Автор решения: Vlad
import random 
def repit_num():
    num1=[1,2,3,4,5,6,7,8,9]
    num2=[1,2,3,4,5,6,7,8,9]
    a=random.choice(num1)
    b=random.choice(num2)
    print(a,'',b)


exec("repit_num()\n" * 11)
→ Ссылка