Python——条件1(例题)
- 通过Input()函数任意输入三条边长,经过简单的计算后,判断三条边长能否构成三角形,并确定是类型的三角形,如(等边,等腰,一般三角形)。
2.密码登录程序。要求:建立一个登录窗口,要求输入帐号和密码。设定用户名为”zhangshan”,密码为“Python123”若;用户名正确,密码正确,则显示 “Zhangshan先生,欢迎你 !”如;果用户名错误,则显示“用户名错误,请重新输入! ”; 若密码不正确,显示“对不起,密码错误,无法登录! ”。
3.设有三个变量a,b,c,分别对三个变量赋值,并对三个变量进行排序。如a=5,b=7,c=6,则排序结果为b>c>a。
4.计算一元二次方程ax2+bx+c 的根是公式。因为负数的平方根是虚的,所以可以使用平方根里面的表达式(称为差别式)先进地判别,检查根型。如果判别式是负数,根是虚的。如果判别式是零,只有一个根;如果判别式是正的,有两个根。写一个程序,使用二次方根式得到实根,即忽略虚根。使用判别式确定有一个根或两个根,然后显示出答案。
A.虚根:
B.异常捕捉:
使用-b + (b ** 2 - 4 * a * c) ** 0.5 / (2 * a)进行计算时,必须考虑分母不能为0的情况
所有代码如下:
第一题
'''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()