首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >1000次迭代每10次打印一次进度

1000次迭代每10次打印一次进度
EN

Stack Overflow用户
提问于 2014-11-04 07:21:23
回答 4查看 14.4K关注 0票数 6

标题说明了一切。我试着找这个,但没有结果。

基本上,我运行的是一个包含1000个迭代的For循环,我想编写一个函数,每10个迭代显示/打印一次模拟的进度。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-11-04 07:45:27

与R一起内置的进度条如何?它在控制台上打印一个进度条,让我们通过迭代监视进度。不幸的是,这并没有完全回答这个问题,因为它每一轮循环都会被更新,而且如果事先不知道迭代的次数,它并不能完全达到您想要的位置。进度条的工作方式如下:

代码语言:javascript
运行
复制
# Number of iterations
imax<-c(10)
# Initiate the bar
pb <- txtProgressBar(min = 0, max = imax, style = 3)
# Iterations
for(i in 1:imax) {
   Sys.sleep(1) # Put here your real simulation
   # Update the progress bar
   setTxtProgressBar(pb, i)
}
# Finally get a new line on the console
cat("\n")

你当然可以用模数来完成你所关心的事情。下面是for -循环的一个示例:

代码语言:javascript
运行
复制
for(i in 1:1000) {
   # Modulus operation
   if(i %% 10==0) {
      # Print on the screen some message
      cat(paste0("iteration: ", i, "\n"))
   }
   Sys.sleep(0.1) # Just for waiting a bit in this example
}

这两种都对你有用吗?

票数 14
EN

Stack Overflow用户

发布于 2014-11-04 07:28:48

您可能希望使用模算子

如果你在循环中检查你的迭代器,并将它与10相对应,那么每次迭代器被10整除时,你就可以让它执行一些操作。

票数 1
EN

Stack Overflow用户

发布于 2014-11-04 07:27:28

根据您使用的是哪种语言,您的语法可能略有不同,但这听起来像是模数划分的一个问题。假设你可以访问你的循环计数器,你可以把它除以10,然后检查你的剩余部分,看看你的计数器是否可以除以10。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26729674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档