if语句练习

if语句主要分为:两种基本形式,和嵌套的if语句。
下面用几个例子来练习if语句的使用。

1. 判断是否为闰年:

闰年是能被4整除但不能被100整除,或者能被400整除的年份。也就是常说的四年一闰,百年不闰,四百年再闰。

那么我们要怎样去判断一个年份是不是闰年呢?
首先要通过input输入一个年份,然后去判断他是不是400的整倍数,如果是400的倍数就可以直接说他是一个闰年后面就不再需要判断了。否则就要去判断他是不是4的倍数,如果不是4的倍数那就说明不是闰年后面也不再需要判断了。如果是4的倍数,再去判断是不是100的倍数,当他不是100的倍数时就说明这个年份是闰年,否则就不是。

代码如下:

#输入年份
year = int(input("请输入年份"))
#判断是不是400的整倍数
if year % 400 == 0:
    print "%d年是闰年" %year
#判断是不是4的整倍数
elif year % 4 == 0:
    #判断是不是100的整倍数
    if year % 100 == 0:
        print "%d年不是闰年" % year
    else:
        print "%d年是闰年" % year
else:
    print "%d年不是闰年" % year

打印结果:

请输入年份: 2000
2000年是闰年

当然这个也可以写成一条判断语句来完成,不过要使用逻辑运算符。

#输入年份
year = int(input("请输入年份"))
#判断是不是闰年
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
    print "%d是闰年"%year
else:
    print "%d不是闰年"%year

结果和上面是一样的。

2. 判断成绩:

需求说明:键盘录入一个成绩,判断并输出成绩的等级。 90-100 优 80-89 良好 70-79 中等 60-69 及格 0-59 不及格。
分析:这里需要使用多个if语句来判断成绩的范围,然后来输出他所对应的等级。
代码如下:

score = int(input("请输入成绩(0~100之间):"))
if score > 0 or score < 0:
    print "输入成绩不合法"
elif 90 <= score <= 100:
    print "优秀"
elif 80 <= score <= 89:
    print "良好"
elif 70 <= score <= 79:
    print "中等"
elif 60 <= score <= 69:
    print "及格"
else:
    print "不及格"

小提示:这里if语句中用来和数学上一样的连续判断,如90<=score<=100,如果你没学过C、C++,Java的话也许会感觉这种用法很正常,和我们平时数学里面书写习惯一样。可是你要是学过C、C++,Java的话就会感觉到奇怪了,我们在这些语言中这样写是会出问题的,不会得到我们想要的结果那是因为在这些语言里面和Python对这样的表达式处理方式是不一样的。比如在C里面这样写90<=score<=100,不论score是多少这个表达式一直为真,那是因为C里面先处理90<=score,那么不论score是多少90<=score不是真就是假,也就是说这里得到的不是0就是1,那么再与100相比较就一定能得到真。所有这里一定要把Python和其他语言区分开来。end…

Leave a Comment