Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@juanmacuevas
Created October 22, 2015 22:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juanmacuevas/febfa5403d01199e5d70 to your computer and use it in GitHub Desktop.
Save juanmacuevas/febfa5403d01199e5d70 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# coding=utf-8
from sys import stdin
# Tu primer programa en python!
# esta línea es un comentario
# no hace falta definir si una variable es entero o texto
# python es listo y lo deduce el solito
# Inicializa variables
# el simbolo = mola más que la mierda de <-
peso_mayor = 0
peso_menor = 1000000000
# peso_puerto1 = 0
# peso_puerto2 = 0
# peso_puerto3 = 0
# estos tres los convierto en una lista mejor
peso_puerto = [0,0,0] # inicializo la variable como lista de 3 así de fácil
# contenedores_puerto1 = 0
# contenedores_puerto2 = 0
# contenedores_puerto3 = 0
# estos también los hago una lista
contenedores_puerto = [0,0,0]
# Aquí defino funciones que usaré luego
# def nombre_funcion(variable_de_entrada):
# los bloques se indican con el sangrado
# return variable_de_salida
# Ésta función de dos lieas de código
# añade un peso a un puerto
def pon_contenedor_en_puerto(peso,puerto):
# puerto es un numero que va de 1 al 3
# pero los arrays y muchas cosas en programacion
# empiezan a contar por cero
# 0,1,2 ...
# así que le resto 1 al puerto para que funcione
peso_puerto[puerto-1] += peso
# el simbolo += no reemplaza sino que suma a lo que ya había
# a que mola!?
# ahora con el contador
contenedores_puerto[puerto-1] += 1
# si te fijas los bloques de código se abren con : y no se cierran
# Basta con el poner el código con espaciado de margen. Mas bonito y simple
# print es el 'escribir' de python... obvio!
print "Introduce los datos siguientes datos para cada contenedor del buque:"
print " - Código de contenedor (Texto)"
print " - Peso en Kg (de 1 a 1.000.000)"
print " - Puerto destino (del 1 al 3)"
print "Para terminar pulse Intro dejando los campos vacíos."
# Entrada de datos inicial
# raw_input() es como el 'leer' de python
contenedor = raw_input('Contenedor: ')
peso = int(raw_input('Peso: '))
puerto = int(raw_input('Puerto: '))
# la funcion int() convierte texto a entero (INTeger en ingles)
# la exclamación niega la igualdad
while contenedor != '':
# esto es para convertir la entrada de formato texto a entero
peso = int(peso)
puerto = int(puerto)
# maximo
if peso > peso_mayor:
peso_mayor = peso
contenedor_mayor = contenedor
# minimo
if peso < peso_menor:
peso_menor = peso
contenedor_menor = contenedor
# calcula pesos y cuenta por puerto
# esto lo hago con una función chula
# la puedes encontrar arriba
pon_contenedor_en_puerto(peso,puerto)
# ya está no hace falta if!!
# entrada de datos otra vez
contenedor = raw_input('Contenedor: ')
peso = int(raw_input('Peso: '))
puerto = int(raw_input('Puerto: '))
# Sumario final
print "Contenedor mayor ",contenedor_mayor," pesa ",peso_mayor," kg."
print "Contenedor menor ",contenedor_menor," pesa ",peso_menor," kg."
print "Puerto 1 recibe ",contenedores_puerto[0]," contenedores que pesan ",peso_puerto[0]," kg."
print "Puerto 2 recibe ",contenedores_puerto[1]," contenedores que pesan ",peso_puerto[1]," kg."
print "Puerto 3 recibe ",contenedores_puerto[2]," contenedores que pesan ",peso_puerto[2]," kg."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment