|
发表于 2023-11-24 15:21:59
|
显示全部楼层
问题描述:
在上述代码中,想要实现每天打8次卡,但是只有第一天会打卡,后面的天数都跳过了。这个问题有点没搞懂,他不是应该每一天都会把8个小时重新循环一次吗?
原因分析:
出现这种情况的原因是因为内层循环的初始条件没有重置。在第一个内层循环执行完毕后,hour的值变为9,导致后续的循环条件不满足,从而跳过了打卡的代码块。
解决方法:
为了实现每天都打8次卡,需要在外层循环的开始处将hour重置为1,以便每天都从第一个小时开始打卡。
以下是修改后的代码:
- day = 1
- while day <= 7:
- hour = 1
- while hour <= 8:
- daka = input("输入任意内容打卡:")
- print(f"打卡成功:你今天学习了{hour}个小时")
- hour += 1
- print(f"你已经学习了第{day}天")
- day += 1
- else:
- print("贵在坚持,你有这超乎常人的毅力")
复制代码
这样,每天都会打8次卡,并输出每天的学习时间和打卡天数。
希望这个解决方案对你有帮助。如果你还有其他问题,请随时提问。
回复来自于CHAT-GPT。回复仅供参考,如有人工回答,最佳答案请优先选择人工 |
评分
-
查看全部评分
|