msmsms Posted August 19, 2012 at 05:24 PM Report Share #472839 Posted August 19, 2012 at 05:24 PM (edited) preciso de fazer um programa que devolva uma vogal de forma aleatória, tentei a solução que deixo em baixo mas não me dei bem, penso que a função random.randint() só serve para números, não é? alguém me sabe dizer como fazer? import random def jogo(): letra = random.randint('a','e','i','o','u') return letra if __name__=='__main__': print jogo() Edited August 19, 2012 at 09:26 PM by thoga31 GeSHi Link to comment Share on other sites More sharing options...
bruno1234 Posted August 19, 2012 at 05:37 PM Report Share #472840 Posted August 19, 2012 at 05:37 PM Podes por as letras num array. Depois retornas a letra na posição do array que saiu do random. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
msmsms Posted August 19, 2012 at 05:51 PM Author Report Share #472841 Posted August 19, 2012 at 05:51 PM (edited) Podes por as letras num array. Depois retornas a letra na posição do array que saiu do random. não percebo bem o que queres dizer como faço a ligação do número (indice) entre 0 e 4 obtido aleatóriamente com os caracteres da tabela? tipo esta ligação; indice 0 = 'a' indice 1 = 'e' indice 2 = 'i' indice 3 = 'o' indice 4 = 'u' o programa como está em baixo devolve um número de 0 a 4, coloquei de 0 a 4 porque são 5 as letras possiveis. mas ainda não estou a conseguir que o programa devolva uma detra de (a, e, i, o, u) em vez de um numero. import random def jogo(): vogais=['a','e','i','o','u'] letra = random.randint(0,4) return letra if __name__=='__main__': print jogo() o objectivo final do problema será fazer um jogo onde seja fornecida uma letra vogal ao utilizador e pedir que ele escreva uma palavra começada por essa letra... Edited August 19, 2012 at 09:26 PM by thoga31 GeSHi Link to comment Share on other sites More sharing options...
bruno1234 Posted August 19, 2012 at 07:38 PM Report Share #472850 Posted August 19, 2012 at 07:38 PM no return metes: return vogais[letra] Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
msmsms Posted August 20, 2012 at 01:57 PM Author Report Share #472919 Posted August 20, 2012 at 01:57 PM (edited) no return metes: return vogais[letra] no return metes: return vogais[letra] obrigado bruno a coisa já está a funcionar como eu queria, faltavam-me algumas bases sobre listas/tabelas/arrays ficou simplezinho como eu gosto. obrigado import random def jogo(): vogais = ['a','e','i','o','u'] letra = random.randint(0,4) return vogais[letra] if __name__=='__main__': print jogo() Edited August 20, 2012 at 04:14 PM by thoga31 GeSHi Link to comment Share on other sites More sharing options...
thoga31 Posted August 20, 2012 at 04:17 PM Report Share #472932 Posted August 20, 2012 at 04:17 PM Só uma breve dica. A variável letra pode ser dispensada neste caso. Como não precisamos do valor aleatório mais do que uma vez, pode-se fazer o Return desta forma: return vogais[random.randint(0,4)] Só um breve pormenor que nunca é de mais partilhar. 🙂 Knowledge is free! Link to comment Share on other sites More sharing options...
thoga31 Posted August 20, 2012 at 05:50 PM Report Share #472944 Posted August 20, 2012 at 05:50 PM (edited) Aliás, há um método da lib Random que retorna um elemento aleatório a partir de uma sequência: return random.choice(vogais) Edited August 20, 2012 at 05:51 PM by thoga31 Knowledge is free! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now