我正在尝试编写一个决定闰年的程序。我的问题是我不能将年份变量转换为整数。我试图解析try语句中的变量。我收到的错误是将字符串转换为整数
line 19, in divide_by_4
if (year%4) == 0:
TypeError: not all arguments converted during string formatting
我的代码如下:我进口的文件,只有在它
def is_year(year):
'''determine if the input year can be converted into an integer'''
try:
int(year)
return year
except ValueError:
print("current year is not a year")
def divide_by_4(year):
if (year%4) == 0:
return True
def divide_by_100(year):
if (year % 100) == 0:
return True
def divide_by_400(year):
if (year % 400) == 0:
return True
def leap_year(year):
if is_year(year):
if divide_by_4(year):
if divide_by_100(year):
if divide_by_400(year):
return True
else:
if divide_by_400(year):
return True
def main():
input_file = input("Enter the file input file name: ")
output_file = input("Enter the output file name: ")
try:
file_in = open(input_file, 'r')
except IOError:
print("The input file could not be opened. The program is ending")
try:
file_out = open(output_file, 'w')
except IOError:
print("The output file could not be opened. The program is ending")
for years in file_in:
if leap_year(years):
file_out.write(years)
file_in.close()
file_out.close()
main()