python-3.x - 没有循环if语句的for循环
问题描述
这是我的代码:
import openpyxl
wb = openpyxl.load_workbook("Bok1.xlsx", data_only=True)
ws = wb["Blad1"]
n = 0
for row in ws['A1:A100']:
for cell in row:
if cell.value == "Konto":
for hej in range(13):
n+=1
konto = cell.offset(row=n).value
if konto == None or isinstance(konto, str) == True:
pass
else:
if konto == 306888 or konto == 306889:
#derp = input("derpderpderp?: ")
#if derp == "y":
if konto == 306888 or konto == 306889:
kst = cell.offset(row=n, column = 1).value
proj = cell.offset(row=n, column = 2).value
vht = cell.offset(row=n, column = 3).value
motp = cell.offset(row=n, column = 4).value
fin = cell.offset(row=n, column = 5).value
text = cell.offset(row=n, column = 8).value
belopp = cell.offset(row=n, column = 9).value
print(konto)
print(kst)
print(proj)
print(vht)
print(motp)
正如您在代码中的 # 所看到的,我有一个“依赖于”循环的输入。我怎样才能编写此代码,使其不会循环并在每次迭代时都要求输入?
解决方案
我要做的是保留一个计数器:
n = 0
cnt=1 # counter
for row in ws['A1:A100']:
# continue with your code
然后,当您输入时:
if cnt==1:
derp = input("derpderpderp?: ")
cnt += 1
if derp == "y":
#continue with your code
这样,您可以确保您的输入仅在第一次使用时被采纳。
推荐阅读
- swift - 如何通过其他 2 个函数的调用函数响应传递 RxSwift zip
- html - 我的下拉菜单菜单不会排在其他元素的前面
- apache - 如何从 URL 中删除文件夹名称?
- java - 如何使用 JAXB 在 Java 中将 CSV 转换为 XML
- javascript - 编写了一个函数来隐藏一个小部件,但如果没有事件监听器就无法使其工作。我需要它在页面完全加载时运行
- java - 我不明白为什么 " if(number%i ==0) " ->(condition is always true) ...这意味着这个方法总是返回 false
- python - 在 sphinx ipython 指令中运行文件
- sql-server - 如何将数据库恢复到 dockerized MS SQLServer?
- javascript - Eventbrite 嵌入式结帐 - 为什么没有显示 GA 事件和电子商务数据?
- html - 使用本地存储在页面刷新时加载增量和减量输入值