高中生零基础学python(二)

时间:2020-10-20 作者:admin

学习python的第二天

大家好,现在我们接着昨天遗留的问题

a= input("weight:")
b= input("height:")
weight=float(a)
height=float(b)
bmi= weight/height**2
if bmi<18.5:
    print("过轻")
elif 18.5<=bmi>=25:
    print("正常")
elif 25<bmi>28:
    print("过重")
elif 28<=bmi>=32:
    print("肥胖")
else :
    print("严重肥胖")

问题是在执行代码的过程中,无论怎么输入数值,得到的结果都只有过轻正常两种结果。

在论坛发帖后,有位热心的码友回复了我,原因竟然是。。。。。。
高中生零基础学python(二)

我的比较符号写错了,竟然两边都是号,估计我小学数学老师看见得揍死我。

新的知识

接下来,开始学习循环语句
python的循环有两种for...in...while

两者的区别在哪里呢 ?

  • 我们先来看for...in...

例如,我想将我全班同学的名字依次打印出来,可是几十个print()恐怕要写到地老天荒,这时候for...in...就派上用场了!

这里以我最亲密的三位同学举例

names = ["小红","小明","李华"]
for name in names:
	print(name)

执行这段代码,会依次打印names的每一个元素:

小红  
小明
李华

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

  • 接下来是while循环

例如,我想计算10以内的偶数之和,可以用一个sum变量做累加

sum=0
n=10
while n>0:
    sum=sum+n
    n=n-2
print(sum)

结果正确

30

break

如果我们想提前结束程序,比如当sum>10的时候就结束,break语句可以办到这件事情

sum=0
n=10
while n>0:
    sum=sum+n
    if sum>10:
        break
    n=n-2
print(sum)

OK,运行结果正确

18

可见break的作用是提前结束循环。

continue

如果我们要打印从1~10的数字,但只打印奇数,该怎么做呢? 让我们用continue试试

n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续进行下一轮循环,后面的print()语句不会执行
    print(n)

结果没有问题

1
3
5
7
9

可见continue的作用是提前结束这一轮循环,并直接进行下一轮。

注意和break的区分哦!

今天的学习就到这里吧!大家都早点休息!

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。