python - 如何在不中断循环的情况下返回变量?
问题描述
我想知道如何return()
在不中断循环的情况下循环执行?我正在做秒表并试图返回一个变量,但似乎不起作用;
我的代码:
def stopwatch():
for i in range(10):
return(i+1)
x = stopwatch()
print(x)
我的输出是:1
如何修复我的代码?
解决方案
也许您正在寻找发电机?
def stopwatch():
for i in range(10):
yield i + 1
您可以通过以下方式逐步获得生成器的“返回”:
x1 = stopwatch()
next(x1)
# Out: 1
next(x1)
# Out: 2
# etc...
或者通过再次循环它(即使与循环简单列表相比,我没有看到任何优势):
x2 = stopwatch()
for num in x2:
print(num)
推荐阅读
- swift - XCUITest 类拆解不会删除应用程序。但是如果它的实例拆解就可以了。我究竟做错了什么?
- c# - 如何发送聊天记录?SendConversationHistoryAsync()不起作用
- python - 在python中将.pgm文件转换为csv文件,
- excel - 从多个工作簿导入多个命名工作表
- r - 是否可以将模型拟合到向量结果?
- python - 卷积神经网络:权重和偏差初始化
- python - matplotlib plt.show() 预索引空 numpy 数组时出现视觉故障
- docker - 不依赖于特定 URL 的 Docker-compose swagger-ui 设置
- c++ - 在 C++ 中使用选择排序对链表进行排序
- javascript - XSS Ajax,辅助表单未正确发布