Python语言系统学习13:条件判断语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingwufeiyang12346/article/details/88880677

从事嵌入式系统软硬件设计工作已有将尽20年的时间,在进行硬件目标板调试时,常需要上位机软件支持。在进行上位机软件程序的设计时,采用过VB、VB.net和C++等多种语言,偶然的机会发现Python,接触后,立刻感觉到它的强大,现在我的上位机软件编程只用Python。本系列教程将从基于硬件的上位机软件设计的角度着手,系统介绍Python语言,希望读者通过本系列教程的学习,能够对Python语言立刻学以致用,真正将所学知识应用到项目实践中。

开发环境:Visual Studio Code

操作系统:Microsoft Window 7

Python版本:3.7

参考教材:Python快速编程入门,黑马程序员,人民邮电出版社,2017年9月第1版

备注:教程仅适合初学者,高手请绕过
 

一、判断输入的数字是正数、零、还是负数

num = float(input("输入一个数字: "))
if num >= 0:
   if num == 0:
       print("零")
   else:
       print("正数")
else:
   print("负数")

注解:

1、Python中if语句的一般形式如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

2、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

3、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

4、在Python中没有switch – case语句。

练习:

编写程序换算狗的年龄对应人的年龄,算法:0岁的狗=》小于14岁的人;1岁的狗=》14岁;2岁的狗=》22岁;2岁以上的狗换算公式为human = 22 + (age -2)*5。

二、判断输入的年份是否为闰年

year = int(input("输入一个年份: "))
if (year % 4) == 0:
   if (year % 100) == 0:
       if (year % 400) == 0:
           print("{0} 是闰年".format(year))   # 整百年能被400整除的是闰年
       else:
           print("{0} 不是闰年".format(year))
   else:
       print("{0} 是闰年".format(year))       # 非整百年能被4整除的为闰年
else:
   print("{0} 不是闰年".format(year))

注解:

1、闰年判断标准:能被4整除但不能被100整除的年份为闰年,或能被400整除的年份为闰年。

2、可应用(year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0进行快捷判断,and表示与,or表示或。

3、可使用isleap函数进行快捷判断。

import calendar

year = int(input("请输入年份:"))
check_year=calendar.isleap(year)
if check_year == True:
    print ("闰年")
else:
    print ("平年")

练习:

编写程序,计算给定的年份有多少天?

三、求二次方程的根

a = float(input('输入 a: '))
b = float(input('输入 b: '))
c = float(input('输入 c: '))
 
# 计算
d = (b**2) - (4*a*c)
 
# 两种求解方式
sol1 = (-b-d**0.5)/(2*a)
sol2 = (-b+d**0.5)/(2*a)
 
print('结果为 {0} 和 {1}'.format(sol1,sol2))

注解:

1、上述程序未进行有效值判断,请加入。

2、判断输入的字符a、b、c是否为数字,参考函数如下:

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass
 
    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass
 
    return False

任何问题,只需在此文章的评论处留言即可,我将尽力解答,不要试图采用其它的联系方式,我一概不理会。

原创性文章,转载请注明出处CSDN:http://blog.csdn.net/qingwufeiyang12346。

猜你喜欢

转载自blog.csdn.net/qingwufeiyang12346/article/details/88880677