From 9fe7a02b423b78fa900f3aa7b8b5e895b1620e27 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 14 Dec 2013 00:15:33 +0000 Subject: adding tutorials (Jorge Alberto Gómez López) --- diff --git a/NEWS b/NEWS index 9b690fd..b23acd3 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ ENHANCEMENTS: * Use open palette instead of treeview (Ignacio Rodriguez) * Show/Hide terminal widget (svineet) * Added new examples (math/pi, math/stern-brocot) +* Added i18n support for examples (Jorge Alberto Gómez López) BUG FIXES: * Reenable copy/paste (Ignacio Rodriguez) diff --git a/data/en/tutorials/Tutorial_01_simple_input.py b/data/en/tutorials/Tutorial_01_simple_input.py new file mode 100644 index 0000000..66d4123 --- /dev/null +++ b/data/en/tutorials/Tutorial_01_simple_input.py @@ -0,0 +1,3 @@ + +name = raw_input('What is your name?\n') +print 'Hi, %s.' % name diff --git a/data/en/tutorials/Tutorial_02_while.py b/data/en/tutorials/Tutorial_02_while.py new file mode 100644 index 0000000..403c563 --- /dev/null +++ b/data/en/tutorials/Tutorial_02_while.py @@ -0,0 +1,12 @@ +import time + +def while_backward_count(number): + while(number > -1): + print str(number) + " for the explosion!!!" + time.sleep(1) + number = number -1 + +number = input('Enter a number: ') +print "Let's count backward using a while sentence!!" +while_backward_count(number) +print "Kaboooommm!!!, X_X" diff --git a/data/en/tutorials/Tutorial_03_range.py b/data/en/tutorials/Tutorial_03_range.py new file mode 100644 index 0000000..f39f0b9 --- /dev/null +++ b/data/en/tutorials/Tutorial_03_range.py @@ -0,0 +1,17 @@ +def sum_in_range(num1, num2): + total = num1 + num1 = num1 + 1 + num2 = num2 + 1 + for i in range(num1, num2): + print str(total) + " + " + str(i) + " = " + str(total+i) + total = total + 1 + +number1 = int(input('Enter first number: ')) +number2 = int(input('Enter second number: ')) + +if number1 > number2: + sum_in_range(number1, number2) +else: + sum_in_range(number2, number1) + + diff --git a/data/en/tutorials/Tutorial_04_list.py b/data/en/tutorials/Tutorial_04_list.py new file mode 100644 index 0000000..7f88f6e --- /dev/null +++ b/data/en/tutorials/Tutorial_04_list.py @@ -0,0 +1,11 @@ +my_list = [] + +num = 1 + +while(num < 5): + data = input("Please enter number " + str(num) + ":") + my_list.append(int(data)) + num = num + 1 + +print "You entered the following numbers:" +print my_list diff --git a/data/en/tutorials/Tutorial_05_dictionaries.py b/data/en/tutorials/Tutorial_05_dictionaries.py new file mode 100644 index 0000000..250297a --- /dev/null +++ b/data/en/tutorials/Tutorial_05_dictionaries.py @@ -0,0 +1,13 @@ +basket = { 'oranges': 12, 'pears': 5, 'apples': 4 } + +basket['bananas'] = 5 + +print basket +print "There are %d various items in the basket" % len(basket) + +print basket['apples'] +basket['apples'] = 8 +print basket['apples'] + +print basket.get('oranges', 'undefined') +print basket.get('cherries', 'undefined') diff --git a/data/en/tutorials/Tutorial_06_try_except.py b/data/en/tutorials/Tutorial_06_try_except.py new file mode 100644 index 0000000..7e92f1d --- /dev/null +++ b/data/en/tutorials/Tutorial_06_try_except.py @@ -0,0 +1,9 @@ +def is_valid_number(num): + try: + int(num) + print "You wrote a number" + except: + print "Sorry but, you didn't write a number" + +number1 = input("Give me any input and I will tell you if it's a number: ") +is_valid_number(number1) diff --git a/data/en/tutorials/Tutorial_07_gtk_basic_form.py b/data/en/tutorials/Tutorial_07_gtk_basic_form.py new file mode 100644 index 0000000..bcff13c --- /dev/null +++ b/data/en/tutorials/Tutorial_07_gtk_basic_form.py @@ -0,0 +1,13 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + self.set_title("Hello World!!") + self.connect("destroy", Gtk.main_quit) + self.set_size_request(250, 150) + self.set_position(Gtk.WIN_POS_CENTER) + self.show() + +PyApp() +Gtk.main() diff --git a/data/en/tutorials/Tutorial_08_gtk_button_form.py b/data/en/tutorials/Tutorial_08_gtk_button_form.py new file mode 100644 index 0000000..8a496ae --- /dev/null +++ b/data/en/tutorials/Tutorial_08_gtk_button_form.py @@ -0,0 +1,22 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + + self.set_title("Button") + self.set_size_request(250, 200) + self.set_position(Gtk.WIN_POS_CENTER) + + btn1 = Gtk.Button("Button") + fixed = Gtk.Fixed() + fixed.put(btn1, 20, 30) + + self.connect("destroy", Gtk.main_quit) + + self.add(fixed) + self.show_all() + + +PyApp() +Gtk.main() diff --git a/data/en/tutorials/Tutorial_09_gtk_entry.py b/data/en/tutorials/Tutorial_09_gtk_entry.py new file mode 100644 index 0000000..40873bf --- /dev/null +++ b/data/en/tutorials/Tutorial_09_gtk_entry.py @@ -0,0 +1,19 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + self.set_title("Hello World!!") + self.connect("destroy", Gtk.main_quit) + self.set_size_request(250, 150) + self.set_position(Gtk.WIN_POS_CENTER) + + entry = Gtk.Entry() + fixed = Gtk.Fixed() + fixed.put(entry, 20, 30) + self.connect("destroy", Gtk.main_quit) + self.add(fixed) + self.show() + +PyApp() +Gtk.main() diff --git a/data/en/tutorials/Tutorial_10_gtk_dialog_button.py b/data/en/tutorials/Tutorial_10_gtk_dialog_button.py new file mode 100644 index 0000000..6bdd198 --- /dev/null +++ b/data/en/tutorials/Tutorial_10_gtk_dialog_button.py @@ -0,0 +1,29 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + self.set_size_request(300, 150) + self.set_position(Gtk.WIN_POS_CENTER) + self.connect("destroy", Gtk.main_quit) + self.set_title("Click button") + + + button = Gtk.Button("Click me!!!") + button.set_size_request(80, 30) + button.connect("clicked", self.on_clicked) + + fix = Gtk.Fixed() + fix.put(button, 20, 20) + + self.add(fix) + self.show_all() + + def on_clicked(self, widget): + about = Gtk.AboutDialog() + about.set_comments("Hello there!!!") + about.run() + about.destroy() + +PyApp() +Gtk.main() diff --git a/data/es/tutorials/Tutorial_01_entrada_simple.py b/data/es/tutorials/Tutorial_01_entrada_simple.py new file mode 100644 index 0000000..57f00f4 --- /dev/null +++ b/data/es/tutorials/Tutorial_01_entrada_simple.py @@ -0,0 +1,3 @@ + +name = raw_input('¿Cual es tu nombre?\n') +print 'Hi, %s.' % name diff --git a/data/es/tutorials/Tutorial_02_while.py b/data/es/tutorials/Tutorial_02_while.py new file mode 100644 index 0000000..933459e --- /dev/null +++ b/data/es/tutorials/Tutorial_02_while.py @@ -0,0 +1,12 @@ +import time + +def while_cuenta_regresiva(numero): + while(numero > -1): + print str(numero) + " para la explosion!!!" + time.sleep(1) + numero = numero -1 + +numero = input('Escribe un numero: ') +print "Cuenta regresiva usando sentencia while!!" +while_cuenta_regresiva(numero) +print "Kaboooommm!!!, X_X" diff --git a/data/es/tutorials/Tutorial_03_rango.py b/data/es/tutorials/Tutorial_03_rango.py new file mode 100644 index 0000000..a2935f9 --- /dev/null +++ b/data/es/tutorials/Tutorial_03_rango.py @@ -0,0 +1,17 @@ +def suma_en_rango(num1, num2): + total = num1 + num1 = num1 + 1 + num2 = num2 + 1 + for i in range(num1, num2): + print str(total) + " + " + str(i) + " = " + str(total+i) + total = total + 1 + +numero1 = int(input('Escribe primer numero: ')) +numero2 = int(input('Escribe segundo numero: ')) + +if numero1 > numero2: + suma_en_rango(numero1, numero2) +else: + suma_en_rango(numero2, numero1) + + diff --git a/data/es/tutorials/Tutorial_04_lista.py b/data/es/tutorials/Tutorial_04_lista.py new file mode 100644 index 0000000..5a653e9 --- /dev/null +++ b/data/es/tutorials/Tutorial_04_lista.py @@ -0,0 +1,11 @@ +mi_lista = [] + +num = 1 + +while(num < 5): + data = input("Porfavor escriba el numero " + str(num) + ":") + mi_lista.append(int(data)) + num = num + 1 + +print "Tu escribiste los siguientes numeros:" +print mi_lista diff --git a/data/es/tutorials/Tutorial_05_diccionarios.py b/data/es/tutorials/Tutorial_05_diccionarios.py new file mode 100644 index 0000000..56bcc99 --- /dev/null +++ b/data/es/tutorials/Tutorial_05_diccionarios.py @@ -0,0 +1,13 @@ +canasta = { 'naranjas': 12, 'peras': 5, 'manzanas': 4 } + +canasta['bananas'] = 5 + +print canasta +print "Hay %d tipos de fruta en la canasta" % len(canasta) + +print canasta['manzanas'] +canasta['manzanas'] = 8 +print canasta['manzanas'] + +print canasta.get('naranjas', 'undefined') +print canasta.get('cerezas', 'undefined') diff --git a/data/es/tutorials/Tutorial_06_try_except.py b/data/es/tutorials/Tutorial_06_try_except.py new file mode 100644 index 0000000..99e9272 --- /dev/null +++ b/data/es/tutorials/Tutorial_06_try_except.py @@ -0,0 +1,9 @@ +def es_numero_valido(num): + try: + int(num) + print "Escribio un numero" + except: + print "Lo siento, no escribiste un numero" + +number1 = input("Escriba y le dire si es un numero: ") +es_numero_valido(number1) diff --git a/data/es/tutorials/Tutorial_07_gtk_ventana_basica.py b/data/es/tutorials/Tutorial_07_gtk_ventana_basica.py new file mode 100644 index 0000000..1d8ebfe --- /dev/null +++ b/data/es/tutorials/Tutorial_07_gtk_ventana_basica.py @@ -0,0 +1,13 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + self.set_title("Hola mundo!!") + self.connect("destroy", Gtk.main_quit) + self.set_size_request(250, 150) + self.set_position(Gtk.WIN_POS_CENTER) + self.show() + +PyApp() +Gtk.main() diff --git a/data/es/tutorials/Tutorial_08_gtk_ventana_boton.py b/data/es/tutorials/Tutorial_08_gtk_ventana_boton.py new file mode 100644 index 0000000..8579ad8 --- /dev/null +++ b/data/es/tutorials/Tutorial_08_gtk_ventana_boton.py @@ -0,0 +1,22 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + + self.set_title("Boton") + self.set_size_request(250, 200) + self.set_position(Gtk.WIN_POS_CENTER) + + btn1 = Gtk.Button("Boton") + fixed = Gtk.Fixed() + fixed.put(btn1, 20, 30) + + self.connect("destroy", Gtk.main_quit) + + self.add(fixed) + self.show_all() + + +PyApp() +Gtk.main() diff --git a/data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py b/data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py new file mode 100644 index 0000000..caad2fa --- /dev/null +++ b/data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py @@ -0,0 +1,19 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + self.set_title("Hola mundo!!") + self.connect("destroy", Gtk.main_quit) + self.set_size_request(250, 150) + self.set_position(Gtk.WIN_POS_CENTER) + + entry = Gtk.Entry() + fixed = Gtk.Fixed() + fixed.put(entry, 20, 30) + self.connect("destroy", Gtk.main_quit) + self.add(fixed) + self.show() + +PyApp() +Gtk.main() diff --git a/data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py b/data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py new file mode 100644 index 0000000..47af76b --- /dev/null +++ b/data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py @@ -0,0 +1,29 @@ +from gi.repository import Gtk + +class PyApp(Gtk.Window): + def __init__(self): + super(PyApp, self).__init__() + self.set_size_request(300, 150) + self.set_position(Gtk.WIN_POS_CENTER) + self.connect("destroy", Gtk.main_quit) + self.set_title("Haz clic en el boton") + + + button = Gtk.Button("Haz clic!!!") + button.set_size_request(80, 30) + button.connect("clicked", self.on_clicked) + + fix = Gtk.Fixed() + fix.put(button, 20, 20) + + self.add(fix) + self.show_all() + + def on_clicked(self, widget): + about = Gtk.AboutDialog() + about.set_comments("Hola!!!") + about.run() + about.destroy() + +PyApp() +Gtk.main() diff --git a/pippy_app.py b/pippy_app.py index fc192ea..3205c54 100644 --- a/pippy_app.py +++ b/pippy_app.py @@ -61,8 +61,8 @@ text_buffer = None PYTHON_PREFIX = """#!/usr/bin/python # -*- coding: utf-8 -*- """ -default_categoties = [_('Graphics'), _('Math'), _('Pyhton'), _('Sound'), - _('String')] +default_categoties = [_('graphics'), _('math'), _('pyhton'), _('sound'), + _('string'), _('tutorials')] from sugar3.graphics.toolbarbox import ToolbarButton from sugar3.graphics.toolbutton import ToolButton -- cgit v0.9.1