Site is under maintenance mode. Please wait few min!
Saltar al contenido

Una introducción a los permisos de Linux

marzo 4, 2020

 

Introducción

El lenguaje de programación Python es una gran herramienta para su uso cuando se trabaja con números y evaluar expresiones matemáticas. Esta calidad se puede utilizar para hacer que los programas útiles.

Este tutorial presenta un ejercicio de aprendizaje para ayudarle a hacer un programa de cálculo de línea de comandos simple en Python 3. Si bien vamos a pasar por una forma possibile para que este programa, hay muchas oportunidades para mejorar el código y crear un más robusto calculadora.

que va a utilizar operadores matemáticos, variables, sentencias condicionales, funciones y entradas del usuario mango para hacer que nuestra calculadora.

Requisitos previos

Para este tutorial, debe tener instalado Python 3 en su computadora local y tienen un entorno de programación establecido en la máquina. Si necesita o bien instalar Python o configurar el entorno, puede hacerlo siguiendo la guía apropiada para su sistema operativo.

Paso 1 – usuarios solicitan datos de trabajo

calculadoras mejor cuando un ser humano proporciona ecuaciones para el ordenador para resolver. Vamos a empezar a escribir nuestro programa en el punto en el que el ser humano introduce los números que les gustaría que el equipo de trabajo con.

Para hacer esto, vamos a utilizar Python de entrada incorporada () que acepta la entrada generado por el usuario desde el teclado. Dentro de los paréntesis de la función de entrada () podemos pasar una cadena para pedir al usuario. Vamos a asignar la entrada del usuario a una variable.

Para este programa, nos gustaría que el usuario introduzca dos números, así que vamos a tener el programa para la pronta dos números. Al pedir la entrada, que debe incluir un espacio al final de nuestra cuerda de manera que existe un espacio entre la entrada del usuario y la cadena que provocó.

number_1 = input('Enter your first number: ')
number_2 = input('Enter your second number: ')

Después de escribir nuestros dos líneas, que debe guardar el programa antes de ejecutarlo. Podemos llamar a este programa calculator.py y en una ventana de terminal, podemos ejecutar el programa en nuestro entorno de programación utilizando el comando calculator.py pitón. Usted debe ser capaz de escribir en la ventana de terminal en respuesta a cada pregunta.

OutputEnter your first number: 5
Enter your second number: 7

Si ejecuta este programa unas cuantas veces y variar su entrada, se dará cuenta de que puede ingresar lo que quiere cuando se le solicite, incluyendo palabras, símbolos, espacios en blanco, o simplemente la tecla ENTER. Esto se debe a la entrada () toma los datos en forma de cadenas y no sabe que estamos buscando un número.

Nos gustaría utilizar un número en este programa por 2 razones: 1) para permitir que el programa para realizar cálculos matemáticos, y 2) para validar que la entrada del usuario es una cadena numérica.

Dependiendo de nuestras necesidades de la calculadora, que puede querer convertir la cadena que viene de la función de entrada () para un número entero o un flotador. Para nosotros, los números enteros se adaptan a nuestro propósito, por lo que vamos a envolver la función de entrada () en la función int () para convertir la entrada con el tipo de datos entero.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

Ahora bien, si de entrada dos enteros que no se ejecutarán en un error:

OutputEnter your first number: 23
Enter your second number: 674

Pero, si entramos en letras, símbolos o cualquier otro no enteros, se encontrará con el siguiente error:

OutputEnter your first number: sammy
Traceback (most recent call last):
File "testing.py", line 1, in
number_1 = int(input('Enter your first number: '))
ValueError: invalid literal for int() with base 10: 'sammy'

Así ahora, hemos establecido dos variables a la entrada del usuario de la tienda en forma de tipos de datos enteros. También puede experimentar con la conversión de la entrada a los flotadores.

Paso 2 – inserción de nuevos operadores

Antes de nuestro programa se ha completado, vamos a añadir un total de 4 operadores matemáticos: + para la suma, – para la resta, * para la multiplicación y / para la división.

mientras construimos nuestro programa, queremos asegurarnos de que cada parte está funcionando correctamente, así que aquí vamos a comenzar con la creación de adición. Vamos a añadir los dos números dentro de una función de impresión para que la persona que utiliza la calculadora será capaz de ver la salida. de

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print(number_1 + number_2)

Let ejecutar el programa y el tipo de dos números cuando se le solicite para asegurarse de que está funcionando como se espera:

OutputEnter your first number: 8
Enter your second number: 3
11

Los espectáculos de salida de nosotros que el programa está funcionando correctamente, así que vamos a añadir un poco más de contexto para que el usuario sea totalmente informado, durante todo el tiempo de ejecución del programa. Para ello, vamos a estar utilizando los formateadores de cuerdas para ayudarnos a formato correctamente a nuestro texto y enviar comentarios. Queremos que el usuario reciba la confirmación acerca de los números que se inserta y el operador que se utiliza junto con el resultado producido.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

Ahora, cuando ejecutamos el programa, vamos a tener producción adicional que permitirá al usuario confirmar la expresión matemática que se está realizando por el programa.

OutputEnter your first number: 90
Enter your second number: 717
90 + 717 =
807

Usando los formateadores de cadena proporciona a los usuarios más comentarios.

En este punto, se puede añadir el resto de los operadores para el programa con el mismo formato que hemos utilizado para la adición:

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

# Addition
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

# Subtraction
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

# Multiplication
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

# Division
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

se agregó el resto de operadores, -, *, y / en el programa anterior. Si ejecutamos el programa en este punto, el programa se ejecute todas las operaciones anteriormente. Sin embargo, queremos limitar el programa para realizar una sola operación a la vez. Para ello, vamos a estar utilizando las sentencias condicionales.

Paso 3 – Adición de sentencias condicionales

con nuestro programa calculator.py, queremos que el usuario sea capaz de elegir entre los diferentes operadores. Por lo tanto, vamos a empezar por la adición de un poco de información en la parte superior del programa, junto con una elección que hacer, por lo que la persona sabe qué hacer.

Vamos a escribir una cadena en unas pocas líneas diferentes mediante el uso de comillas triples:

'''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
'''

Estamos utilizando cada uno de los símbolos de operador para los usuarios hacer su elección, por lo que si el usuario desea la división para llevar a cabo, van a escribir / . Podríamos elegir cualquier símbolo que queremos, sin embargo, al igual que para la adición 1, o b para la resta.

Debido a que estamos pidiendo a los usuarios para la entrada, que quieren utilizar la función de entrada (). Vamos a poner el interior de cadena de la función de entrada (), y pasar el valor de dicha entrada a una variable, que vamos a nombre de la operación.

operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

En este punto, si corremos nuestro programa no importa lo que la entrada en la primera pantalla, por lo que vamos a añadir nuestras instrucciones condicionales en el programa. Debido a la forma en que hemos estructurado nuestro programa, la instrucción if será el lugar donde se realiza la adición, habrá 3 else-if o elif declaraciones de cada uno de los otros operadores, y la declaración más va a ser puesto en marcha para controlar un error si la persona no lo hizo símbolo de entrada de un operador.

operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

if operation == '+':
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

elif operation == '-':
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

elif operation == '*':
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

elif operation == '/':
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

else:
print('You have not typed a valid operator, please run the program again.')

caminar a través de este programa, primero se pide al usuario que ponga en un símbolo de la operación. Diremos que el usuario introduce * Para multiplicar. A continuación, el programa pide 2 números, e introduce el usuario 58 y 40. En este punto, los espectáculos de programa la ecuación realizaron y el producto.

OutputPlease type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
*
Please enter the first number: 58
Please enter the second number: 40
58 * 40 =
2320

Debido a la forma en que estructuramos el programa, si el usuario introduce% cuando se le preguntó por una operación en la primera solicitud, que no va a recibir retroalimentación para intentarlo de nuevo hasta después de la introducción de números. Es posible que desee considerar otras opciones posibles para el manejo de diversas situaciones.

En este punto, tenemos un programa totalmente funcional, pero no se puede realizar una segunda o tercera operación sin ejecutar el programa de nuevo, así que vamos a añadir algunas funciones más para el programa.

Paso 4 – Establecer el funcionamiento de

Para manejar la capacidad de realizar el programa tantas veces como el usuario quiere, vamos a definir algunas funciones. Primero vamos a poner nuestro bloque de código existente en una función. Llamaremos a la función de calcular () y añadir una capa adicional de sangrado dentro de la propia función. Para garantizar el programa se ejecuta, sino que también llamaremos a la función en la parte inferior de nuestro archivo.

# Define our function
def calculate():
operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Please enter the first number: '))
number_2 = int(input('Please enter the second number: '))

if operation == '+':
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

elif operation == '-':
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

elif operation == '*':
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

elif operation == '/':
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

else:
print('You have not typed a valid operator, please run the program again.')

# Call calculate() outside of the function
calculate()

A continuación, vamos a crear una segunda función compuesta de sentencias en más condicionales. En este bloque de código, queremos dar al usuario la opción de decidir si quieren calcular de nuevo o no. Podemos basar esta fuera de nuestras sentencias condicionales calculadora, pero en este caso sólo vamos a tener uno si, uno elif, y uno más para controlar los errores.

Llamaremos a esta función de nuevo () y agregarlo a continuación nuestra calcular def (): bloque de código.

...
# Define again() function to ask user if they want to use the calculator again
def again():

# Take input from user
calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

# If user types Y, run the calculate() function
if calc_again == 'Y':
calculate()

# If user types N, say good-bye to the user and end the program
elif calc_again == 'N':
print('See you later.')

# If user types another key, run the function again
else:
again()

# Call calculate() outside of the function
calculate()

Aunque hay algo de control de errores con la sentencia else anterior, probablemente podríamos hacer un poco mejor que aceptar, por ejemplo, una minúscula yyn además de la mayúscula Y y N. Para hacer eso, vamos a añadir el str.upper función de cadena ():

...
def again():
calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

# Accept 'y' or 'Y' by adding str.upper()
if calc_again.upper() == 'Y':
calculate()

# Accept 'n' or 'N' by adding str.upper()
elif calc_again.upper() == 'N':
print('See you later.')

else:
again()
...

en este punto, hay que añadir de nuevo la función () al final de la función de cálculo () para que podamos activar el código que pregunta al usuario si son o no le gustaría continuar.

def calculate():
operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Please enter the first number: '))
number_2 = int(input('Please enter the second number: '))

if operation == '+':
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

elif operation == '-':
print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

elif operation == '*':
print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

elif operation == '/':
print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

else:
print('You have not typed a valid operator, please run the program again.')

# Add again() function to calculate() function
again()

def again():
calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

if calc_again.upper() == 'Y':
calculate()
elif calc_again.upper() == 'N':
print('See you later.')
else:
again()

calculate()

Ahora puede ejecutar su programa con calculator.py pitón en su ventana de terminal y serás capaz de calcular tantas veces como desee.

Paso 5 – Mejorar el código

Ahora tenemos una agradable, totalmente programa funcional. Sin embargo, hay un montón más que se puede hacer para mejorar este código. Usted puede agregar una función de bienvenida, por ejemplo, que acoge a personas con el programa en la parte superior del código del programa, así:

def welcome():
print('''
Welcome to Calculator
''')
...
# Don’t forget to call the function
welcome()
calculate()

Hay oportunidades para introducir más control de errores durante todo el programa. Para empezar, se puede asegurar que el programa sigue funcionando incluso si el usuario escribe plancton cuando se le preguntó por un número. Como el programa es en este momento, si número_1 y NUMBER_2 no son enteros, el usuario recibirá un error y el programa se detendrá. También, para los casos cuando el usuario selecciona el operador de división (/) y tipos en 0 para su segundo número (número_2), el usuario recibirá un ZeroDivisionError: división por error cero. Por esto, es posible que desee utilizar el control de excepciones con la sentencia try … except.

nos limitamos a 4 operadores, pero puede agregar operadores adicionales, como en:

...
operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
** for power
% for modulo
''')
...
# Don’t forget to add more conditional statements to solve for power and modulo

Además, es posible que desee volver a escribir parte del programa con una sentencia de bucle.

Hay muchas maneras de manejar los errores y modificar y mejorar todos y cada proyecto de codificación. Es importante tener en cuenta que no hay es una sola forma correcta de resolver un problema que se nos presenta.

Conclusión

Este tutorial se dirigió a través de un enfoque posible para la construcción de una calculadora en la línea de comandos. Después de completar este tutorial, usted será capaz de modificar y mejorar el código y trabajar en otros proyectos que requieran la intervención del usuario en la línea de comandos.

Estamos interesados ​​en ver sus soluciones a este proyecto simple calculadora de línea de comandos! Por favor, no dude en enviar sus proyectos Calculadora en los comentarios a continuación.

A continuación, es posible que desee crear un juego basado en texto como el tic-tac-dedo del pie o piedra-papel-tijeras.