Ola pessoal!Finalmente posso voltar a escrever aqui no blog depois de muito tempo sem ter tempo pra nada hehe!Nao vou continuar de imediato a serie de artigos sobre python para web, mas iniciarei uma serie de postagens de algoritmos implementados em python!Achei que seria uma boa opcao para ajudar o pessoal que esta nas faculdades, nao por disponibilizar um codigo pronto, mas por mostrar uma forma de fazer, que pretento que seja bem explicada!Nos vemos logo mais por aqui!Abracos! Boa noite pessoal!Vamos comecar entao a serie de postagens de implementacao de algoritmos!Hoje, para iniciar a serie vou deixar aqui pra voces um script que gera matrizes.Uma grande parte do algoritmos que vamos ver nos proximos artigos trabalham em cima de dados matriciais, entao e a partir das matrizes que comecaremos.O Script que apresento a seguir nos possibilita criar matrizes com dados aleatorios, digitar os valores linha a linha, ou digitar ja a matriz inteira. Esta matriz sera salva como um arquivo texto formatado de forma que cada linha da matriz ocupe uma linha do arquivo e os elementos da matriz serao separados por espacos.#!/usr/bin/env python# -*- coding:utf8 -*-'''Created on 27/11/2013@author: julio'''from os import systemfrom random import randrangeimport randomimport stringmenu_dict = { 1:'criar_matriz_aleatoria()', 2:'criar_matriz_linha()', 3:'ler_matriz()', 0:'sair()'}menu_str = '''Gerador de MatrizezEscolha a opcao desejada:1 - Criar uma matriz com dados aleatorios2 - Criar uma matriz digitada linha a linha3 - Criar uma matriz digitada inteiramente0 - Sair>> '''def cls(): x = system('clear') if x!=0: system('cls') def gerar_matriz(linhas, colunas, a, b): return [[randrange(a, b) for i in xrange(colunas)] for j in xrange(linhas)] def recebe_num_colunas(): while True: try: return input('Insira o numero de colunas') except: print('\nO valor digitado nao e um numero valido\n\n')def recebe_num_linhas(): while True: try: return input('Insira o numero de linhas') except: print('\nO valor digitado nao e um numero valido\n\n')def ler_linhas(): print('''Insira os dados da matriz linha a linhaDigite os valores separados por espacosPra finalizar, digite somente ENTER''') matriz = [] while True: linha = raw_input('>>') try: linha = [eval(x) for x in linha.strip().split()] except: print('\nOs dados nao foram digitados da forma correta.'+ ' Insira a linha novamente\n\n') continue if len(linha)==0: return matriz matriz.append(linha)def ler_numero_linhas(): while True: try: return input('Insira o numero de linhas da matriz\n>> ') except: print('\nO numero digitado nao e valido. Tente novamente\n\n') def ler_numero_colunas(): while True: try: return input('Insira o numero de colunas da matriz\n>> ') except: print('\nO numero digitado nao e valido. Tente novamente\n\n')def ler_range_de_valores(): while True: string = raw_input('''Insira o intervalo de valores para os elementos da matrizUse a forma (a, b)>> ''') try: return eval(string) except: print('\nOs valores nao foram digitados no padrao correto.'+ ' Tente novamente\n\n')def ler_matriz(): matriz = None while True: try: matriz = eval(raw_input('Digite os dados da matriz na forma'+ ' [[a1, a2,...,an],[b1,b2,...,bn],...,[m1,m2,...,mn]]')) except: print('\nA matriz nao foi digitada da forma correta\n\n') salvar_matriz(matriz) def gera_caractere_aleatoria(): return random.choice(string.ascii_uppercase + string.digits) def salvar_matriz(matriz): nome_mat = 'matriz'+''.join( gera_caractere_aleatoria() for x in range(5))+'.dat' f = open(nome_mat,'w') mat = '' for i in xrange(len(matriz)): for j in xrange(len(matriz[0])): mat += str(matriz[i][j])+' ' mat+='\n' f.write(mat) f.close()def criar_matriz_aleatoria(): a, b = ler_range_de_valores() linhas = ler_numero_linhas() colunas = ler_numero_colunas() matriz = gerar_matriz(linhas,