python - 没有预期行为的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')
解决方案
您忽略了更新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')
推荐阅读
- html - 居中 CSS 变换:在分组对象上缩放
- mysql - 是否应在数据库中的每个后续发票记录中引用原始订单
- bash - 检查当前时间在 00:00 - 1:00 AM EST 之间,它必须包括 00.00 && 01:00 EST
- javascript - 如何在innerHTML 字符串中查找文本索引?提供插入符号位置
- react-native - React-Native:从网站打开移动应用程序
- java - 不知道 'this' 关键字参考是什么
- wpf - 如何在左右拆分 WPF TabControl 的选项卡?
- sql - 如何从 ADODB 查询的列表中声明变量?
- python - “InvalidArgumentError:不兼容的形状:[64,40000] vs. [64] [Op:Mul]”在张量之间进行运算时?
- java - 使用邮递员在 Spring Boot 应用程序中添加任意数量的整数