Python Day15 继续复习

2017年4月25日,今天浏览器崩溃2次,全部白写...上周都在外面跑,这周应该有几天有空

1、格式化

习题来自廖老师的blog
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:

s1 = 72
s2 = 85
r = (s2 - s1)/s1 * 100
print('成绩提高比第一季度提高:%.1f%%' % r)

另外写了一个啰嗦一点的:

image.png

2、if条件判断

age = input('your age:')           #输入一个数值
if age >= 18:                              #条件判断1
print('your age is', age)
print('your is adult.')
elif age >= 6:                            #条件判断2
print('your age is', age)
print('your is teenager')
else:                                         #都不是的话
print('oh!kid!')

注意!如果直接输入一个数值,会提示错误:

your age:20
Traceback (most recent call last):
  File "C:/python_study/python01/temp.py", line 52, in
    if age >= 18:                    #条件判断1
TypeError: '>=' not supported between instances of 'str' and 'int'

输入的任何数值,python看来都是‘str’类型的

>>> age = input('your age:')
your age:18
>>> type(age)

因此我们改成:
age = int(input('your age:'))
或者

age = input('your age:')
birth = int(age)

练习
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
用if-elif判断并打印结果:

height = float(input('Please enter your height:'))
weight = float(input('Please enter your weight:'))
bmi = weight / height**2
  if bmi < 18.5:
  print('too light')
  elif 18.5 <= bmi <= 25:
  print('normal')
  elif 25 < bmi <= 28:
  print('fat')
  elif 28 < bmi <= 32:
  print('overweight')
else:
print('You are a pig!')

结果

Please enter your height:1.5
Please enter your weight:200
You are a pig!

推荐阅读更多精彩内容