Python——条件1(例题)

  1. 通过Input()函数任意输入三条边长,经过简单的计算后,判断三条边长能否构成三角形,并确定是类型的三角形,如(等边,等腰,一般三角形)。

Python——条件1(例题) 

2.密码登录程序。要求:建立一个登录窗口,要求输入帐号和密码。设定用户名为”zhangshan”,密码为“Python123”若;用户名正确,密码正确,则显示 “Zhangshan先生,欢迎你 !”如;果用户名错误,则显示“用户名错误,请重新输入! ”; 若密码不正确,显示“对不起,密码错误,无法登录! ”。

Python——条件1(例题)

3.设有三个变量a,b,c,分别对三个变量赋值,并对三个变量进行排序。如a=5,b=7,c=6,则排序结果为b>c>a。

Python——条件1(例题)

4.计算一元二次方程ax2+bx+c 的根是公式。因为负数的平方根是虚的,所以可以使用平方根里面的表达式(称为差别式)先进地判别,检查根型。如果判别式是负数,根是虚的。如果判别式是零,只有一个根;如果判别式是正的,有两个根。写一个程序,使用二次方根式得到实根,即忽略虚根。使用判别式确定有一个根或两个根,然后显示出答案。

A.虚根:

Python——条件1(例题)

B.异常捕捉:

使用-b + (b ** 2 - 4 * a * c) ** 0.5 / (2 * a)进行计算时,必须考虑分母不能为0的情况Python——条件1(例题)

 

所有代码如下:

第一题
'''1.通过Input()函数任意输入三条边长,
经过简单的计算后,判断三条边长能否构成三角形,
并确定是类型的三角形,
如(等边,等腰,一般三角形)。'''
def main():
    a = input("Please input the length of a:")
    b = input("Please input the length of b:")
    c = input("Please input the length of c:")
    if a+b>c and a+c>b and b+c>a:
        if a==b==c:
            print("This is an equilateral triangle.")
        elif a==b or a==c or b==c:
            print("This is an isosceles triangle.")
        else :
            print("This is a scalene triangle.")
    else:
        print("These lengths can not form a triangle.")

main()

第二题
'''
2.密码登录程序。要求:建立一个登录窗口,
要求输入帐号和密码。设定用户名为”zhangshan”,
密码为“Python123”若;用户名正确,密码正确,
则显示 “Zhangshan先生,欢迎你 !”
如;果用户名错误,则显示“用户名错误,
请重新输入! ”; 若密码不正确,显示“对不起,
密码错误,无法登录! ”。
'''
#定义输入赋值函数
def Assignment():
    global x,y  #定义全局变量
    x = input("User:")
    y = input("Password:")

def main():
    if x =="zhangshan" and y =="Python123":
        print("Welcome,Mr.Zhangshan!")
    elif x == "zhangshan" and y != "Python123":
        print("Wrong password.No right to log-in.")
        #函数调用
        Assignment()
        main()
    else :
        print("Wrong user's name.Please enter again:")
        Assignment()
        main()

Assignment()
main()


第三题
'''
3.设有三个变量a,b,c,
分别对三个变量赋值,
并对三个变量进行排序。
如a=5,b=7,c=6,
则排序结果为b>c>a。
'''
def Assignment():
    global a,b,c
    a = input("Please enter an integer number a:")
    b = input("Please enter an integer number b:")
    c = input("Please enter an integer number c:")

#排序函数
def Sorting():
    # 把变量放入列表中
    list1 = []
    list1.append(a)
    list1.append(b)
    list1.append(c)
    list2 = sorted(list1,reverse = True)#列表降序排序
    sep = '>'  #定义分割符
    list3 = sep.join(list2)
    print(list3)

Assignment()
Sorting()


第四题
'''
4.计算一元二次方程ax2+bx+c 的根是公式。因为负数的平方
根是虚的,所以可以使用平方根里面的表达式(称为差别
式)先进地判别,检查根型。如果判别式是负数,根是虚
的。如果判别式是零,只有一个根;如果判别式是正的,有
两个根。写一个程序,使用二次方根式得到实根,即忽略虚
根。使用判别式确定有一个根或两个根,然后显示出答案。
'''
def Assignment():
    global a,b,c
    print("a*x**2+b*x+c=0")
    a = int(input("Input 'a':"))
    b = int(input("Input 'b':"))
    c = int(input("Input 'c':"))

def main():
    #异常捕捉:分母不能为0
    try:
        if b ** 2 - 4 * a * c > 0:
            x1 = -b + (b ** 2 - 4 * a * c) ** 0.5 / (2 * a)
            x2 = -b - (b ** 2 - 4 * a * c) ** 0.5 / (2 * a)
            print("The number of the root of equation\nx1={}, x2={}".format(x1, x2) )
        elif b ** 2 - 4 * a * c == 0:
            x0 = -b / (2 * a)
            print("The number of the root of equation\nx0={}".format(x0) )
        else:
            print("Non-real complex roots.")
    except ZeroDivisionError:
        print('0是不能做除数的!')

Assignment()
main()