|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我有个逻辑问题, 用year/400 == int(year/400): 表达闰年的话, 因为int()是整形,那比400少的年份,全部会取0,就满足这个条件了, 然而并不是,例如:50.返回是闰年,但明显不是. 那结果是不是应该把后面的逻辑先提上来才对.
- year=0
- temp = input('请输入一个年份:')
- while not temp.isdigit():
-     temp = input("抱歉,您的输入有误,请输入一个整数:")
- 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(temp + ' 不是闰年!')
复制代码
这样试试:
- t = 3
- year = 0
- print('***u got', t, 'chance***')
- print('pls type in a year: ', end=' ')
- while t > 0:
- tmp = input()
- print('\n***u got', t - 1, 'chance left***')
- while not tmp.isdigit():
- tmp = input('error, pls type in a number: ')
- year = int(tmp)
- if year / 400 == int(year / 400):
- print('''这是世纪闰年.\ntry again: ''', end=' ')
- else:
- if year / 4 == int(year / 4) and year / 100 != int(year / 100):
- print('''这是普通闰年.\ntry again: ''', end=' ')
- else:
- print('''这不是闰年.\ntry again: ''', end=' ')
- t = t - 1
- print('\ngame over')
复制代码
|
|