import random def dividir_amostras(amostras, num_grupos): random.shuffle(amostras) grupos = [sorted(amostras[i::num_grupos]) for i in range(num_grupos)] return grupos def redistribuir_grupos(grupos, nome_var1, nome_var2): novos_grupos = [] for nome, grupo in grupos: subgrupos = dividir_amostras(grupo, 2) novos_grupos.append((f"{nome} - {nome_var1}", subgrupos[0])) novos_grupos.append((f"{nome} - {nome_var2}", subgrupos[1])) return novos_grupos def main(): amostras = list(range(1, int(input("Digite o número total de amostras: ")) + 1)) num_grupos = int(input("Digite o número de grupos: ")) nomes_grupos = [input(f"Digite o nome do grupo {i + 1}: ") for i in range(num_grupos)] grupos = [(nome, sorted(amostras[i::num_grupos])) for i, nome in enumerate(nomes_grupos)] etapa = 1 while etapa <= 4: print(f" Etapa {etapa} concluída. Grupos:") for nome, grupo in grupos: print(f"{nome}: {grupo}") if input(" Deseja distribuir as amostras novamente? (S/N): ").strip().lower() != 's': break nome_var1 = input(f"Digite o nome da variável 1 para a etapa {etapa + 1}: ") nome_var2 = input(f"Digite o nome da variável 2 para a etapa {etapa + 1}: ") grupos = redistribuir_grupos(grupos, nome_var1, nome_var2) etapa += 1 print(" Distribuição final das amostras:") for nome, grupo in grupos: print(f"{nome}: {grupo}") if __name__ == "__main__": main()
@revisaosistematica64854 ай бұрын
replit.com/@zirconia37451/teste-2
@revisaosistematica64854 ай бұрын
import random # Define códigos de cores ANSI RED = '\033[91m' YELLOW = '\033[93m' BLUE = '\033[94m' GREEN = '\033[92m' WHITE = '\033[0m' # Função para imprimir uma linha de pontos def print_line(): print("·" * 70) # Função para imprimir uma linha com o texto centralizado def print_centered(text): spaces = (70 - len(text)) // 2 print("·" + " " * spaces + text + " " * spaces + "·") # Função para imprimir os dados inseridos em uma tabela de pontos def print_input_data(total_pacientes, pacientes_selecionados, limites_meses): print_line() print_centered("Dados inseridos:") print_line() print(f"· Número total de pacientes: {RED}{total_pacientes}{WHITE}") print(f"· Número de pacientes a serem selecionados: {YELLOW}{pacientes_selecionados}{WHITE}") print_line() for mes, limites in limites_meses.items(): print(f"· Limite superior dos pacientes admitidos em {GREEN}{mes}{WHITE}: {limites[0]} - {limites[1]}") print_line() # Função para imprimir os resultados em uma tabela de pontos def print_results(pacientes_por_mes): print_line() print_centered("Resultados:") print_line() for mes, pacientes in pacientes_por_mes.items(): total_pacientes_mes = len(pacientes) porcentagem_mes = (total_pacientes_mes / pacientes_selecionados) * 100 pacientes_selecionados_str = ', '.join(map(str, sorted(pacientes))) print(f"{GREEN}· Pacientes selecionados em {mes}:{WHITE} {pacientes_selecionados_str}") print(f"{RED}· Total de pacientes em {mes}: {total_pacientes_mes} ({porcentagem_mes:.2f}%)") print_line() # Pergunta ao usuário o número total de pacientes total_pacientes = int(input(f"· Digite o número total de pacientes: {RED}")) # Pergunta ao usuário o número de pacientes a serem selecionados pacientes_selecionados = int(input(f"· Digite o número de pacientes a serem selecionados: {YELLOW}")) # Cria um dicionário para armazenar os limites dos pacientes por mês limites_meses = {} # Preenche o número de pacientes admitidos em cada mês meses = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"] for mes in meses: limites_str = input(f"· Digite o limite superior dos pacientes admitidos em {GREEN}{mes}{WHITE} (formato: inicio-fim ou inicio fim): ") limites = [int(num) for num in limites_str.replace('-', ' ').split()] limite_superior = max(limites) limites_meses[mes] = (min(limites), limite_superior) # Calcula a proporção de pacientes a serem selecionados em cada mês proporcao_meses = {} for mes, limites in limites_meses.items(): proporcao = (limites[1] - limites[0] + 1) / total_pacientes proporcao_meses[mes] = round(proporcao * pacientes_selecionados) # Seleciona aleatoriamente os números correspondentes a cada paciente por mês pacientes_por_mes = {} for mes, limites in limites_meses.items(): inicio, fim = limites proporcao = proporcao_meses[mes] if proporcao == 0: pacientes_mes = [] elif proporcao >= fim - inicio + 1: pacientes_mes = list(range(inicio, fim + 1)) else: pacientes_mes = random.sample(range(inicio, fim + 1), proporcao) pacientes_por_mes[mes] = pacientes_mes # Imprime os dados inseridos e os resultados print_line() print_input_data(total_pacientes, pacientes_selecionados, limites_meses) print_results(pacientes_por_mes)
@brunobarbosa309810 ай бұрын
Legal, hoje os plug-ins já aparecem na lista para instalar. E não funcionam!
@felipemartins90502 жыл бұрын
metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, studlab, data = pasta, sm = "SMD", fixed = F, random = T, prediction = T, level.predict = 0.95, method.bias = "Egger")