代码运行问题
times = 3temp = input('请输入一个年份')
while not temp.isdigit():
print('抱歉输入错误')
if times > 1:
print('请输入整数')
year = int(temp)
if (year/400) == int(year/400):
print(temp + '是闰年')
else:
if(year/4) == int(year/4) and (year/100) != int(year/100):
print(temp + '是闰年')
else:
print('不是闰年')
if times > 1:
print('请再输入一遍',end='')
else:
print('抱歉机会用光了')
times = times - 1
请大佬看看这个自己改的代码,想弄成次数,但是运行起来,一次就结束了,不知道哪里出啦问题
写的可能太粗糙,各位不要嫌弃,给指正一下{:5_96:} 你这算法都有问题 python爱好者. 发表于 2022-3-22 10:56
你这算法都有问题
times = 3
while times > 0:
temp = input('请输入一个年份:')
while not temp.isdigit():
temp = input("请重新输入:")
years = int(temp)
if (years % 4 == 0 and years % 100 != 0) or (years % 400 == 0):
print(temp + '是闰年')
else:
print('不是闰年')
times = times - 1
python爱好者. 发表于 2022-3-22 10:59
十分感谢给出的代码
大佬,但是我的代码倘若去掉关于times的代码运行,他是可以准确的运行的呀,并且他的算法没有问题啊,得出的结果跟你的一样啊。
有一地方不懂的是这个times该怎么个用法啊,我用了几次都没用对过 python爱好者. 发表于 2022-3-22 10:59
大佬,你这个代码,倘若输的不是整数,一直输入的是小数的话,就不受次数的限制了,可以一直输入 神奇的二哈 发表于 2022-3-22 16:55
大佬,你这个代码,倘若输的不是整数,一直输入的是小数的话,就不受次数的限制了,可以一直输入
你的判断是判断是否为字符串吧...... 根据你提供的代码,我看到以下几点需要修改:
1. 如果想要实现多次输入,那么应该将整个代码逻辑放在一个 `while` 循环内部。
2. 计数器变量 `times` 在 `while` 循环中应该初始化,并且在每次循环末尾更新计数器。
3. 输入判断的部分可以封装成一个函数,避免代码冗余。
4. 判断输入值是否是整数的部分可以使用 Python 内置函数 `isdigit()` 更加简洁地实现。
综上所述,修改后的代码如下:
times = 3
while times > 0:
temp = input('请输入一个年份:')
if not temp.isdigit():
print('抱歉输入错误,请输入整数')
times -= 1
continue
year = int(temp)
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
print(f'{temp} 是闰年')
else:
print(f'{temp} 不是闰年')
times -= 1
print('抱歉机会用光了')
修改后的代码实现了多次输入年份的功能。每次输入年份时先检查输入是否合法(即是否为整数),如果不是,则计数器减一并开始新一轮循环;如果是,则进行闰年判断并输出结果。当计数器 `times` 减至零时,输出结束信息。 您好!从您的描述来看,您希望建立一个具有重试次数的程序,用于判断输入的年份是否为闰年。根据您提供的代码,我发现了一些问题,并对其进行了相应的修改。请参考以下代码:
times = 3
while times > 0:
temp = input('请输入一个年份:')
if not temp.isdigit():
print('抱歉,输入错误,请输入整数。')
else:
year = int(temp)
if (year % 400) == 0 or (year % 4 == 0 and year % 100 != 0):
print(temp + '是闰年')
else:
print(temp + '不是闰年')
times -= 1
if times > 0:
print('您还有{}次尝试机会。'.format(times))
else:
print('抱歉,机会已用光。')
在这个修改后的代码中,我将主要逻辑放入了一个 while 循环中,以便于实现重试次数的功能。在每次循环中,都会提示用户输入年份并进行判断,循环结束后,会根据剩余次数给出相应提示。
页:
[1]