Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/04/2013, 12:32
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Problema con este codigo

Aquí tienes sin ni un solo if.

Código Python:
Ver original
  1. maximo = int(raw_input("Tamanho maximo: "))
  2. bars = []
  3. for i in range(1, 5):
  4.     bars.append(int(raw_input("Tamanho de barra%d: " % i)))
  5.  
  6.  
  7. print ""
  8. print "El maximo alcance de la barra es:", maximo
  9.  
  10. def print_matrix(matrix):
  11.     for row in matrix:
  12.         print ''.join(row)
  13.  
  14. def border_matrix(matrix):
  15.     rows = len(matrix)
  16.     cols = len(matrix[0])
  17.     for i in range(rows):
  18.         matrix[i][0] = matrix[i][-1] = '+'
  19.  
  20.     for j in range(cols):
  21.         matrix[0][j] = matrix[-1][j] = '+'
  22.  
  23. def put_bar(matrix, i, j):
  24.     for k in range(4):
  25.         matrix[i][j+k] = '-'
  26.  
  27. def draw_bars(matrix, bars):
  28.     rows = len(matrix)
  29.     for i, bar in enumerate(bars):
  30.         for c in range(bar):
  31.             put_bar(matrix, rows - 2 - c, 2 + (i * 5))    
  32.  
  33.  
  34. matrix =[list(' ' * 23) for i in range(maximo + 2)]
  35. border_matrix(matrix)
  36. draw_bars(matrix, bars)
  37. print_matrix(matrix)