Ir para conteúdo
Fórum Script Brasil

Rodrigo Gama

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Rodrigo Gama

  1. Olá.

    Sou bem novato no aprendizado do Python, e estou estudando do começo, mas não estou conseguindo entender o erro que meu código está produzindo. Tecnicamente, ele não produz nenhum erro, mas o comportamento dele é estranho. Ele me pede o input, mas depois ele pára de funcionar. Aparentemente, ele apenas me pede outro input. Mesmo que eu digite 0, ele apenas continua me pedindo. A função de demonstrar as opções também não surge no terminal. Já tentei passar o retorno da função, assim como as condicionais, para string, mas não adiantaram nada. Tentei também simplificar o código, rodar funções separadas do código, sem sucesso.

    Por exemplo, quando eu tento rodar apenas a função d4, o terminal não retorna nada:

    import random
    
    def d4():
    	return print("resultado do d4: " + str(random.randint(1, 3)))
    
    d4

    Já quando eu tento rodar apenas o código presente dentro da função d4, ele funciona normalmente.

    Entretanto, se eu tento alterar a função d4 para me retornar apenas a string, e no corpo principal do script eu mandar ele dar print() na função, ocorre isso:

    import random
    
    def d4():
    	return "resultado do d4: " + str(random.randint(1, 3))
    
    print(d4)
    
    RETORNO: <function d4 at 0xb71afdf4>

    Eu estou usando uma máquina virtual Linux Mint Cinamon rodando no VMware Workstation 12 Player (32bits).

    Abaixo o código fonte completo:

    import random
    
    def d4():
    	return print("resultado do d4: " + str(random.randint(1, 3)))
    
    def d6():
    	return print("resultado do d6: " + str(random.randint(1, 6)))
    
    def d8():
    	return print("resultado do d8: " + str(random.randint(1, 8)))
    
    def d10():
    	return print("resultado do d10: " + str(random.randint(0, 9)))
    
    def d12():
    	return print("resultado do d12: " + str(random.randint(1, 12)))
    
    def d20():
    	return print("resultado do d20: " + str(random.randint(1, 20)))
    
    def d100():
    	return print("resultado do d100: " + str(random.randint(1, 100)))
    
    def escolha():
    	print("Digite sua escolha: ")
    	print("1: d4")
    	print("2: d6")
    	print("3: d8")
    	print("4: d10")
    	print("5: d12")
    	print("6: d20")
    	print("7: d100") 
    
    	return input()
    
    choise = escolha
    
    while choise != "0":
    	if choise == "1": d4
    	if choise == "2": d6
    	if choise == "3": d8
    	if choise == "4": d10
    	if choise == "5": d12
    	if choise == "6": d20
    	if choise == "7": d100
    	if choise == "0": break
    
    	choise = escolha

    Agradeço qualquer ajuda para me ajudar com esse problema.

×
×
  • Criar Novo...