Помощь в функции

FedorPetrov

Новичок
Пользователь
Фев 17, 2022
3
1
3
Всем привет)
Учусь на курсах. Написал функцию, но проблема в том, что она результат дает всегда разный. Может быть 1 большая и все остальные маленькие, может быть наоборот и всегда рандомно. Нужно сделать так, чтобы всегда результат был 50 на 50 при любом количестве в строке, будь то 10 или 20 или 88 букв, нужно в начале половина одного типа и в конце половина. Не могу понять где дописать условие

Python:
import string
import random


def letter_generator(n):


    lower = string.ascii_lowercase
    upper = string.ascii_uppercase
    upper_lower = lower + upper
    all = random.sample(upper_lower, n)
    result = "".join(sorted(all))
    return result


def call_letter(n):
    a = letter_generator(n)
    print('call letter: ', a)
    return a


lenght = 12
call_letter(lenght)
 
Последнее редактирование модератором:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Речь об этом?
Python:
import string
import random

def letter_generator(n):
    lower = string.ascii_lowercase
    upper = string.ascii_uppercase
    all_ = random.sample(lower, n//2) + random.sample(upper, n//2)
    result = "".join(sorted(all_))
    return result

def call_letter(n):
    a = letter_generator(n)
    print('call letter: ', a)
    return a

lenght = 12
call_letter(lenght)

Код:
# AEFSTXbfguvw
 

FedorPetrov

Новичок
Пользователь
Фев 17, 2022
3
1
3
Речь об этом?


Код:
# AEFSTXbfguvw

Да, речь об результате. Который в моем варианте всегда разный, а именно: может быть 1 буква большая, остальные маленькие и при каждом запуске разное количество. В существующий код (который опубликовал в самом начале), нужно добавить (не знаю что), чтобы всегда количество было 50% на 50% больших и маленьких, независимо от длины, будь 12 знаков или 20, 50
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Да, речь об результате. Который в моем варианте всегда разный, а именно: может быть 1 буква большая, остальные маленькие и при каждом запуске разное количество. В существующий код (который опубликовал в самом начале), нужно добавить (не знаю что), чтобы всегда количество было 50% на 50% больших и маленьких, независимо от длины, будь 12 знаков или 20, 50
Ну я собственно нужный код и скинул
 

FedorPetrov

Новичок
Пользователь
Фев 17, 2022
3
1
3
Ну я собственно нужный код и скинул
Точно) не сразу заметил Вашу правку. Благодарю Вас за помощь
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов