嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的24-29讲
#coding=gbk
#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的24-29讲
#简单条件构造
#简单条件基本形式:<expr><relop><expr>
#<relop> 是关系操作符 <, <=, ==, >=, >, !=
#使用 = 表示赋值语句,使用 == 表示等于
#除数字外,字符或字符串也可以按照字典顺序用于条件比较
#<condition>是布尔表达式,为布尔类型,布尔值的真和假以字符True 和False表示
#空气质量汇报程序1
"""
def main():
PM = eval(input("What is today's PM2.5? "))
if PM > 250:
print("Hazardou. REMAIN INDOORS!")
elif PM > 150:
print("Very unhealthy. Avoid prolonged exertion!")
elif PM > 115:
print("Unhealthy. Limit prolonged exertion!")
elif PM > 75:
print("Unhealthy for sensitive group!")
elif PM > 35:
print("Moderate. Go walking!")
else:
print("Good. Go running!")
main()
"""
#PM2.5提示程序
"""
def main():
PM = eval(input("What is today's PM2.5 "))
#打印相应提醒:
if PM > 75:
print("Unhealthy. Be careful!")
if PM < 35:
print("Good. Go running!")
main()
"""
"""
#计算二次方程的实数根程序1
#此程序在方程没有实根的情况下报错
import math
def main():
print("Let us finds the solutions to a quadratic\n")
a, b, c = eval(input("Do enter the coefficients(a, b, c): "))
delta = b * b - 4 * a * c
if a == 0:
x = -b / c
print("\nThere in an solution ", x)
elif delta < 0:
print("\nThe equation has no real roots!")
elif delta == 0:
x = -b / (2 * a)
print("\nThere is a double root at ", x)
else:
discRoot = math.sqrt(delta)
x1 = (-b + discRoot) / (2 * a)
x2 = (-b - discRoot) / (2 * a)
print("\nThe solutions are: ", x1, x2)
main()
"""
#异常处理
#Python使用try...except...语句来进行异常处理,这样做可使程序不因运行错误而崩溃。
#try...except可以捕捉任何类型的错误。
#不同的情况可能生成不同的错误类型,此时可以用一个try语句匹配多个except语句来实现。
"""
while True:
try:
x = int(input("Please enter a number: "))
break
except ValueError:
print("Oops! That was no valid number. Try again...")
"""
#Python的异常处理语句还可以使用else和finally关键字
#try:
# <body>
#except <ErrorType1>:
# <handler1>
#except <ErrorType2>:
# <handler2>
#except:
# <handler0>
#else: # else必须出现在finally之前
# <process_else>
#finally:
# <process_finally> # finally必须出现在最后
#
#参考示例:
"""
def main():
try:
number1, number2 = eval(input("请输入两个数字,以逗号分开: "))
result = number1 / number2
except ZeroDivisionError:
print("除数不能为零!")
except SyntaxError:
print("你也许少输入了一个逗号。") #此条会在把逗号输入成空格时执行
except:
print("输入过程中出现差错。") #此条会在其它输入差错出现时执行,没有此条程序会报错
else:
print("没有发现错误,输出结果为:", result)
finally:
print("执行后续的程序。")
main()
"""
#计算二次方程的实数根程序2
"""
import math
def main():
print("这个项目能解出一元二次方程的解\n")
try:
a, b, c = eval(input("请输入系数,以逗号隔开 (a, b, c): "))
discRoot = math.sqrt(b * b - 4 * a * c)
root1 = (-b + discRoot) / (2 * a)
root2 = (-b - discRoot) / (2 * a)
print("\n输出结果为:",root1, root2)
except ValueError as excObj:
if str(excObj) == "math domain error": # b*b-4*a*c小于0时所报的错误,没有实根。
print("没有实根。")
else:
print("你没有给定正确数量的系数。") # 输入数据小于3时报错
except NameError:
print("\n你没有输入三个系数。")
except TypeError:
print("\n你输入的数据不全是数据。")
except SyntaxError:
print("\n你输入数据的格式不正确,缺少逗号?")
except:
print("\n出现了其他未知错误。")
main()
"""
# for,while循环结合else,break和continue语句的用法
# break用于跳出最内层for,while循环
# continue语句,其作用于结束本次循环,即跳出循环体中下面尚未执行的语句,对于while循环,继续求解循环条件。而对于for循环程序流程接着遍历循环列表。
# continue和break语句的区别:
# continue语句只结束本次循环,而不终止整个循环执行。
# break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
# else语句后面的表达式在没有break语句打断,for循环列表遍历完毕后,或while条件不满足的情况下执行。
# for/while循环中的else用法示例:
"""
for n in range(2,10):
for x in range(2,n):
if n % x == 0:
print(n,'equals',x,'*',n//x)
break
else:
print(n,'is a prime number.') #for循环中else的使用
"""
# 寻找一组数中的最大值:
def main():
n = eval(input("How many numbers are there? "))
max = eval(input("Enter a number >> "))
for i in range(n-1):
x = eval(input("Enter a number >> "))
if x > max:
max = x
print("The largest value is ",max)
main()