Python零基础学习 问题及作业 问题待续

先上问题:input BIF


看下面这段代码,无论怎么测试都退不出循环,很郁闷

print('=-------------闰年计算器-------------=')
print('注意:输入查询的年份,格式:XXXX,如2014')
temp = 1
while temp != 110:
    temp = input('请输入查询的年份: ')
    while temp.isdigit() != 1:
        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, '年是平年!')
print('GameOver')

为了方便测试,简化一下代码

temp = 0
while temp != 520:
    temp = input('enter a number:')
    print(temp)

结果是这样的:
enter a number:520
520
enter a number:520
520
enter a number:520
520
enter a number:


想办法解决,查看 while 和 input 两个BIF
>>> help(input)
Help on built-in function input in module builtins:
input(prompt=None, /)
Read a string from standard input. The trailing newline is stripped.The prompt string, if given, is printed to standard output without a trailing newline before reading input.

哎呀我去,input-read a string from standard input


update code

temp = 0
while temp != '520':
    temp = input('enter a number:')
    print(temp)
print('=-------------闰年计算器-------------=')
print('注意:输入查询的年份,格式:XXXX,如2014')
temp = 1
while temp != '110':
    temp = input('请输入查询的年份: ')
    while temp.isdigit() != 1:
        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, '年是平年!')
print('GameOver')

总结:BIF使用时,一定要注意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值