# -*- coding: utf-8 -*-
"""
Created on Sun Oct 14 21:52:36 2018
@author: 11565
"""
#第四次课程
guess=eval(input("请输入你的数字:"))
if guess == 99:
print("输入正确")
else:
print("输入错误")
#还有一种简单的编程:紧凑形式语法:<表达式一> if <条件> else <表达式二>
guess=eval(input("请输入你的数字:"))
print("猜{}了".format("正确" if guess==99 else "错误"))
#判断成绩
score=eval(input())
if 70 > score >=60:
gread = "d"
elif 80 >score >=70:
gread="c"
elif 90 > score >=80:
gread="b"
elif 100 >=score>=90:
gread="a"
else:
gread="不及格"
print("你的成绩等级是{}".format(gread))
#异常处理的语法
'''
try:#先执行语句块一,如果try部分运行成功的,就不会运行except
<语句块一>
except:#只有try部分不执行的时候才会执行except
<语句块二>#语句块二要说明一下出现异常的原因
try:#先执行语句块一,如果try部分运行成功的,就不会运行except
<语句块一>
except <异常类型>:#出现特定异常的时候才会执行语句块二,异常类型的名字都是自定义的
<语句块二>#语句块二要说明一下出现异常的原因
'''
#try与except的用法
try:
asd= eval(input("请输入数字:"))
print(asd**2)
except:
print("您输入的不是整数")
#try与except的用法,加异常类型
try:
asd= eval(input("请输入数字:"))
print(asd**2)
except NameError:
print("您输的不是整数")
#异常处理的高级应用法
'''
try:#先执行语句块一,如果try部分运行成功的,就不会运行except
<语句块一>
except:#只有try部分不执行的时候才会执行except
<语句块二>#语句块二要说明一下出现异常的原因
else:#对应语块三不在发生异常时执行
<语句块三>
finally:对应语句块四,一定会执行
<语句块四>
语法解析:如果出现异常就执行except,如果没有异常,则执行语块三else,不管是不是发生异常,都会执行语块四finally
'''
#计算国际BMI指数
height,weight = eval(input("请输入数值(用逗号隔开):"))
bmi= height/pow(weight,2)
print("bmi的数值是{:.2f}".format(bmi))
if bmi<18.5:
who="偏廋"
elif 18.5<=bmi<25:
who="正常"
elif 25<=bmi<30:
who="偏胖"
else:
who="肥胖"
print("bmi的国际指标是{}".format(who))
#计算国内的bmi值
height,weight = eval(input("请输入数值(用逗号隔开):"))
bmi= height/pow(weight,2)
print("bmi的数值是{:.2f}".format(bmi))
if bmi<18.5:
who="偏廋"
elif 18.5<=bmi<24:
who="正常"
elif 24<=bmi<28:
who="偏胖"
else:
who="肥胖"
print("bmi的国际指标是{}".format(who))
#将国内与国外指标以通输入
height,weight = eval(input("请输入数值(用逗号隔开):"))
bmi= height/pow(weight,2)
print("bmi的数值是{:.2f}".format(bmi))
if bmi<18.5:
who,nat="偏廋","偏廋"
elif 18.5<=bmi<24:
who,nat="正常","正常"
elif 24<=bmi<25:
who,nat="正常","偏胖"
elif 25<=bmi<28:
who,nat="肥胖","偏胖"
elif 28<=bmi<30:
who,nat="偏胖","肥胖"
else:
who,nat="肥胖","肥胖"
print("bmi的国际指标是{0},国内指标是{1}".format(who,nat))
'''
关注分支语句需要注意的问题:
多分支条件之间的覆盖问题
程序可运行,但是不准确,要注意多分☞
分支结构是重要的程序重要框架,度程序先看分支
阅读别人代码时,要注意查看分支的结构
'''
#循环结构,遍历循环对应for,无限循环对应的时while
for i in range(5):
print(i)
for i in range(1,6):
print(i)
#技术循环
for i in range(1,6,2):
print(i)
#字符串便利循环
for i in "python123":
print(i,end=",")
#列表的便利循环:for i in ls:,ls时一个列表,遍历列表中的买一个元素
ls=[123,"py",456]
for item in ls:
print(item,end=",")
#for i就是遍历后面文件中的元素
#文件遍历循环: for i in fl, fl是一个外部文件
#无限循环语句的语法结构
'''
while <条件>:
<语句块>
反复执行语句块,只要条件为真,就会一直循环
'''
a=3
while a>0:
a-=1
print(a)
#控制循环保留字,break,contimue
#break是跳出整个循环,执行循环之后的语句,continue是结束档次循环,继续执行后续循环,并不打破整个循环,而是打破当次循环
#break,continue可以与for 和 while 配合使用
#首先来看continue
for i in "python":
if i =="t":
continue#如果遇到t就会退出当次循环,继续执行下次循环
print(i,end=",")
#来看一下break的用法
for i in "python":
if i =="t":
break#如果遇到t就会退出整个循环,不再执行循环
print(i,end=",")
#循环嵌套
s="python"
while s != "":
for i in s:
print(i,end="")
s=s[:-1]
#循环嵌套+控制语句
s= "python"
while s!="":
for i in s:
if i=="t":
break
print(i,end="")
s=s[:-1]
#循环与else结构
'''
else的作用
当循环没有被break语句退出时,执行else语句
else循环语句块可以作为正常完成循环的奖励
这里的else的用法与异常里面的else的用法类似
(如果一个循环没有被break,我们将奖励特一个循环)
'''
for i in "python":
if i =="n":
break
print(i,end=",")
else:#当出现break语句时,else语句绝对不会执行,二者只能存在一个
print("正常退出")
#注意与上述代码的区别
for i in "python":
if i =="n":
break
print(i,end=",")
else:#当出现break语句时,else语句绝对不会执行,二者只能存在一个
print("正常退出")
#注意与上面代码的区别
for i in "python":
if i =="t":
continue
print(i,end=",")
else:#因为没有出现break语句,所以肯定会执行else语句
print("正常退出")