gpt4 book ai didi

python - 变量不起作用......或者我遗漏了什么?

转载 作者:行者123 更新时间:2023-11-28 20:52:54 25 4
gpt4 key购买 nike

我正在尝试对 docx 文件进行一些编辑...将数字转换为字母(即,如果变量等于 01 = '一',等于 02 = '二',等等,但在西类牙语)。问题是变量 f_dia_nom 不起作用……它甚至不打印任何东西……我做错了什么吗?还是我错过了什么??

#!/usr/bin/env python2.6

from Tkinter import *
from docx import *
import tkMessageBox

root = Tk()

nombre = ""
exp_no = ""
ubic = ""
munic = ""
prov = ""
f_dia = ""
f_dia2 = ""
f_dia_nom = ""

def nombre_dia():
if f_dia2 == 1 or f_dia2 == 01:
f_dia_nom = "Un"
elif f_dia2 == 2 or f_dia2 == 02:
f_dia_nom = "Dos"
elif f_dia2 == 3 or f_dia2 == 03:
f_dia_nom = "Tres"
elif f_dia2 == 4 or f_dia2 == 04:
f_dia_nom = "Cuatro"
elif f_dia2 == 5 or f_dia2 == 05:
f_dia_nom = "Cinco"
elif f_dia2 == 6 or f_dia2 == 06:
f_dia_nom = "Seis"
elif f_dia2 == 7 or f_dia2 == 07:
f_dia_nom = "Siete"
else:
f_dia_nom = "Error"

# Hacer el docx
def makedocx():
if __name__ == '__main__':
# Default set of relationshipships - these are the minimum components of a document
relationships = relationshiplist()

# estructura del documento
document = opendocx('test.docx')
docbody = document.xpath('/w:document/w:body',namespaces=nsprefixes)[0]

# Buscar y reemplazar
print 'Replacing ...',
docbody = replace(docbody,'V_EXP',en1.get())
docbody = replace(docbody,'V_NOMBRE',en0.get())
docbody = replace(docbody,'V_OPERACION',op.get())
docbody = replace(docbody,'V_UBIC',en3.get())
docbody = replace(docbody,'V_MUNI',en4.get())
docbody = replace(docbody,'V_PROV',en5.get())
docbody = replace(docbody,'V_F_DIA',en6.get())
docbody = replace(docbody,'V_F_MES',mes.get())
docbody = replace(docbody,'V_F_SEM',sem.get())
docbody = replace(docbody,'V_NUM_DIA',en7.get())
nombre_dia()
docbody = replace(docbody,'V_NOM_DIA',f_dia_nom)
print 'f_dia_nom'
print 'done.'

最佳答案

查找 python 的“全局范围”规则。一般来说,尽量避免全局变量(如果只是为了避免像这样的错误)

在 nombre_dia() 中:

f_dia_nom = "Un" 

或与此相关的任何其他分配都让 python 编译器为 nombre_dia 函数创建该数字本地。

修改您的函数以将 f_dia_nom 声明为全局函数:

def nombra_dia():
global f_dia_nom

...

它将 nombre_dia SEE f_dia_nom 作为全局

引用资料

学习 Python 第 4 版第 408 页

关于python - 变量不起作用......或者我遗漏了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5982194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com