Haz tu Pregunta
0

¿Cómo puedo usar la condicion if.. else... en una macro con Python?

preguntado 2020-10-28 22:05:18 +0200

Imagen Gravatar de pemacolin

updated 2020-10-29 03:05:54 +0200

Hola, tengo una macro y quiero implementar una condición if else para la gestión de datos, Ejemplo:

import uno

def main():

casilla = 'x'
dia = '12'
mes = '05'
ano = '2020'

if  casilla == ' ':
    nada = ''
else:
    dia2=dia
    mes2=mes
    ano2=ano
return
edit re-etiquetar marcar como ofensivo cerrar fusionar delete

Comments

Si así tienes el código, esta mal indentado...

Imagen Gravatar de mauricio mauricio ( 2020-10-30 23:20:21 +0200 )edit

2 Respuestas

Ordenar por » viejos nuevas más votado
0

respondido 2020-10-30 23:25:07 +0200

Primero debes de asegurarte de que tienes soporte para macros Python, entonces, tu código debe estar correctamente indentado:

def main():
    selection = XSCRIPTCONTEXT.getDocument().CurrentController.Selection
    nada = ''
    if selection.String:
        nada = selection.String

    print(nada)

    return
edit marcar como ofensivo delete enlace mas

Comments

Hola, ya probé tu ejemplo y me marca un error en la siguiente parte:

if selection.String:

Sin embargo realice otras pruebas para que este correctamente indentado, el cual me ejecuto la función If sin problemas:

def main():

     doc = XSCRIPTCONTEXT.getDocument()
     text = doc.Text
     edad = '15'
     if edad < '18':
        text.String = 'Hola Amigos' 
     else:
        text.String = 'Hola Amigos como estan'  

     return
Imagen Gravatar de pemacolin pemacolin ( 2020-11-05 21:55:49 +0200 )edit
0

respondido 2020-10-30 01:21:19 +0200

Imagen Gravatar de Kyodake

updated 2020-10-30 23:21:40 +0200

Al respecto puedo informarte, en forma general que:

1- La estructura de control if Permite que el programa ejecute instrucciones cuando se cumple una condición. La sintaxis es la siguiente:

 if condición:
    órdenes que se ejecutan si la condición es cierta

La condición se evalúa siempre. Si el resultado es True se ejecutan las sentencias. Si el resultado es False no se ejecutan las sentencias.

La primera línea contiene una expresión lógica a evaluar y termina siempre en dos puntos. La segunda línea, es un bloque que siempre debe ir sangrado y esta constituido por las órdenes que se ejecutan cuando la condición es verdadera.

2- La estructura de control if --- else Permite que el programa ejecute unas instrucciones cuando la condición es cierta y otras instrucciones cuando la condición es falsa. La sintaxis es la siguiente:

if condición:
   órdenes que se ejecutan si la condición es cierta

else:
   órdenes que se ejecutan si la condición es falsa

La ejecución de esta construcción es la siguiente:

La condición se evalúa siempre. Si el resultado es True se ejecutan las sentencias 1 Si el resultado es False se ejecutan las sentencias 2

La primera línea contiene la expresión lógica a evaluar y termina siempre en dos puntos. La segunda línea es un bloque que siempre debe ir sangrado, está constituído por las órdenes que se ejecutan cuando la condición es verdadera

Después viene la línea con la orden else, que indica que las órdenes se ejecutan cuando la condición es falsa, esta línea también debe terminar siempre en dos puntos. La última línea, es un bloque que siempre debe ir sangrado y está constituído por las órdenes de instrucciones que corresponde a else

Se aconseja utilizar siempre el mismo número de espacios en el sangrado, generalmente cuatro.

3- La estructura de control if --- else, se puede extender añadiendo la instrucción elif: Permite encadenar varias condiciones.

La sintaxis es la siguiente:

if condición_1:
    bloque 1

elif condición_2:
    bloque 2

else:
    bloque 3

Si se cumple la condición 1, se ejecuta el bloque 1

Si no se cumple la condición 1 pero sí que se cumple la condición 2, se ejecuta el bloque 2

Si no se cumplen ni la condición 1 ni la condición 2, se ejecuta el bloque 3.

Se pueden escribir todos los bloques elif que resulten necesarios, el bloque else se ejecuta si no se cumple ninguna de las condiciones previas.

Editado: ----------- 30-10-2020 ----------

En LibreOffice Basic.

Tiene similar a Python, la instrucción If...Then...Else

Esta instrucción define bloques de instrucciones que se ejecutan cuando una condición es verdadera.

Sintaxis:

If condition=true 
    Then bloque de instrucciones 
ElseIf condition=true 
    Then Bloque de instrucciones 
Else 
    Bloque de instrucciones 
EndIf

En vez de Else If puede escribir ElseIf, y en vez de End If puede escribir EndIf.

Cuando la instrucción If, es verdadera, se ejecutan todas las instrucciones posteriores hasta que se encuentre una nueva instrucción Else o ElseIf.

Si la condición es falsa y a continuación hay una instrucción ... (mas)

edit marcar como ofensivo delete enlace mas

Comments

Hola, agradezco tu respuesta, entiendo como funciona la condición if else y si solo usara Python3 no tendría ningún problema, pero la cuestión aquí es que al agregar la condición dentro de una macro en libreoffice.. libreoffice ya no me la detecta.

Imagen Gravatar de pemacolin pemacolin ( 2020-10-30 18:18:58 +0200 )edit
Ingresa/Regístrate para Contestar

Herramientas de Preguntas

1 seguidor

Estadisticas

Preguntado: 2020-10-28 22:05:18 +0200

Visto: 57 veces

Ultima actualización: Oct 30 '20