首页 > 解决方案 > 没有预期行为的while循环

问题描述

我从 Python 开始。在当前代码中,A1 被无限“返回”,就好像没有变量的总和一样célula。我该怎么做才能从 A1 和 A2 获得“回报”?

import xlwings as xw

wb = xw.Book(r'C:\Users\Guilh\bin\teste\Contabilização Automática\myproject\myproject.xlsx')

sht = wb.sheets[0]

def buscar():

    linha = '1'
    célula = 'A' + linha
    valor_célula = sht.range(célula).value

    while valor_célula != None:
        print('A1')

        linha = int(linha) + 1
        célula = 'A' + str(linha)

    else:
        print('A2')

标签: pythonwhile-loop

解决方案


您忽略了更新valor_célula,因此陷入了 while 循环。

我相信您想将代码更新为:

def buscar():

    linha = '1'
    célula = 'A' + linha
    valor_célula = sht.range(célula).value

    while valor_célula != None:
        print('A1')

        linha = int(linha) + 1
        célula = 'A' + str(linha)
        valor_célula = sht.range(célula).value  # Update Value

    else:
        print('A2')

推荐阅读