fCONV_AUSRICHTG is not defined - Why?
Thomas Passin
list1 at tompassin.net
Tue Nov 7 14:05:10 EST 2023
On 11/7/2023 12:47 PM, Egon Frerich via Python-list wrote:
> I've no idea why this happens. In a module there are lists and definitions:
>
> Felder = [
> # Name lg1 lg2 typ Ausrichtung Holen Prüfen Prüfvorg
> ["Jahr", 4, 5, "u", "", "right", "center"],
> ["Monat", 2, 5, "u", "", "right", "center"],
> ["Tag", 2, 3, "u", "", "right", "center"],
> ["Belegnr", 5, 7, "s", "", "right", "center"],
> ["Bank", 2, 4, "u", "", "center", "center"],
> ["Art", 2, 3, "u", "", "center", "center"],
> ["Aufg", 2, 4, "u", "", "center", "center"],
> ["Text", 25, 25, "s", "-", "left", "left"],
> ["Ergänzung", 12, 12, "s", "-", "left", "left"],
> ["Betrag", 13, 13, "s", "", "right", "right"],
> ["W", 1, 2, "s", "", "center", "center"],
> ["WBetrag", 7, 7, "s", "", "right", "right"],
> ["Kurs", 6, 6, "s", "", "right", "right"],
> ]
> "Reihenfolge in der Dimension 1"
> (
> fJAHR,
> fMONAT,
> fTAG,
> fBELEGNR,
> fBANK,
> fART,
> fAUFGABE,
> fTEXT,
> fTEXTERG,
> fBETRAG,
> fWAEHRUNG,
> fBETRAGinWAEHRUNG,
> fUMRECHNUNGSKURS,
> ) = list(range(13))
> "Reihenfolge in der Dimension 2"
> (
> fNAME,
> fLG1,
> fLG2,
> fTYP,
> fCONV_AUSRICHTG,
> fENTRY_AUSRICHTG,
> fTEXT_AUSRICHTUNG,
> fHOLFUNKT,
> fPRUEFFUNKT,
> fPRUEF_ARG,
> ) = list(range(10))
>
>
> Two lines with test statements follow and the statement which produces
> an error:
>
> print(Felder)
> print(fJAHR, fNAME, fTYP, fCONV_AUSRICHTG)
> akette = "%" + "%".join(
> ["%s%s%s " % (i[fCONV_AUSRICHTG], i[fLG2], i[fTYP]) for i in
> Felder])
>
> The traceback shows:
>
> $ python3 testGeldspurGUI.py
> [['Jahr', 4, 5, 'u', '', 'right', 'center'], ['Monat', 2, 5, 'u', '',
> 'right', 'center'], ['Tag', 2, 3, 'u', '', 'right', 'center'],
> ['Belegnr', 5, 7, 's', '', 'right', 'center'], ['Bank', 2, 4, 'u', '',
> 'center', 'center'], ['Art', 2, 3, 'u', '', 'center', 'center'],
> ['Aufg', 2, 4, 'u', '', 'center', 'center'], ['Text', 25, 25, 's', '-',
> 'left', 'left'], ['Ergänzung', 12, 12, 's', '-', 'left', 'left'],
> ['Betrag', 13, 13, 's', '', 'right', 'right'], ['W', 1, 2, 's', '',
> 'center', 'center'], ['WBetrag', 7, 7, 's', '', 'right', 'right'],
> ['Kurs', 6, 6, 's', '', 'right', 'right']]
> 0 0 3 4
> Traceback (most recent call last):
> File "/home/egon/Entw/Geldspur/geldspur/testGeldspurGUI.py", line 15,
> in <module>
> from tests.testU2 import testU2
> File "/home/egon/Entw/Geldspur/geldspur/tests/testU2.py", line 9, in
> <module>
> from gui.GUI_Konfig import GUIcfg
> File "/home/egon/Entw/Geldspur/geldspur/gui/GUI_Konfig.py", line 11,
> in <module>
> class GUIcfg:
> File "/home/egon/Entw/Geldspur/geldspur/gui/GUI_Konfig.py", line 90,
> in GUIcfg
> ["%s%s%s " % (i[fCONV_AUSRICHTG], i[fLG2], i[fTYP]) for i in Felder])
> File "/home/egon/Entw/Geldspur/geldspur/gui/GUI_Konfig.py", line 90,
> in <listcomp>
> ["%s%s%s " % (i[fCONV_AUSRICHTG], i[fLG2], i[fTYP]) for i in Felder])
> NameError: name 'fCONV_AUSRICHTG' is not defined
>
> You see "Felder" and with "0 0 3 4" the correct value 4 for
> fCONV_AUSRICHTG. But there is the NameError.
>
> What does <listcomp> mean? Is there a change from python2 to python3?
You are using a syntax that I don't understand, but "listcomp" means a
list comprehenson.
More information about the Python-list
mailing list