P18了不起的分支循环自己研究的一个问题求助
day = 1hour = 1
while day <= 7:
while hour <= 8:
daka = input("输入任意内容打卡:")
print(f"打卡成功:你今天学习了{hour}个小时")
hour += 1
print(f"你已经学习了第{day}天")
day += 1
else:
print("贵在坚持,你有这超乎常人的毅力")
如上代码 我想实现每天都打8次卡 但是这个就第一天打卡了 后面的就跳过了 这个问题有点没搞懂 他不是应该每一天都会把8个小时重新循环一次吗? 请问你在求助的问题是什么?代码中的while循环不完整,无法理解你的具体需求。请提供更详细的问题描述。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 问题描述:
在上述代码中,想要实现每天打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。回复仅供参考,如有人工回答,最佳答案请优先选择人工 第一次循环之后 hour 的值就直接变成 8 了,以后的循环的初始值 hour 也都是 8。 应该把对 hour 的赋值语句放在循环里面。day = 1
while day <= 7:
hour = 1 #改了这里
while hour <= 8:
daka = input("输入任意内容打卡:")
print(f"打卡成功:你今天学习了{hour}个小时")
hour += 1
print(f"你已经学习了第{day}天")
day += 1
else:
print("贵在坚持,你有这超乎常人的毅力")
Mike_python小 发表于 2023-11-24 15:21
问题描述:
在上述代码中,想要实现每天打8次卡,但是只有第一天会打卡,后面的天数都跳过了。这个问题有 ...
哈哈 大佬 你这个 hour移动一下位置就可以了,学到了 上面的等于就是 把hour和day的循环放一起了所以就只算一天的循环 懂了 谢谢了大佬
页:
[1]