2-12 编程练习做不出来,请老师解答

来源:2-12 编程练习

曹三个字

2019-04-04 03:20:55

#定义变量year,并接收“请输入正确的年份:”
year = input("请输入年份:")
#判断是否是闰年:1、能被4整除,但是不能被100整除的年份 2、能被400整除的年份
a = year % 4 == 0
b = year % 100 != 0
c = year % 400 == 0
if (2 and b) or c:
   print("{0}年是闰年".format(year))
else:
   print("{0}年不是闰年".format(year))


运行报错,请问是哪里出问题

Traceback (most recent call last):

  File "C:/python-project/xiti.py", line 4, in <module>

    a = year % 4 == 0

TypeError: not all arguments converted during string formatting

写回答

2回答

时间,

2019-04-04

同学,你好,通过input()输入的内容类型是字符串类型,这里要先转换成int整型才可以做取余运算。修改方法如下:

方法一:可以在输入年份的时候直接转换成int类型

http://img.mukewang.com/climg/5ca564f60001e61a07750285.jpg

方法二:在进行取余运算的时候转换成int类型

http://img.mukewang.com/climg/5ca565900001073b08260271.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

2

曹三个字

提问者

2019-04-04

if (a and b) or c:

第7行写错了,应该是这个,但是改了还是报错

0

0 学习 · 8160 问题

查看课程