nei 发表于 2024-4-17 12:49

python练习记录

条件判断:小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数,用if elif判断并打印结果

低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖

height = 1.75
weight = 80.5
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('严重肥胖')



循环:
请利用循环依次对list中的每个名字打印出hello,xxx
List = ['xiaoming','xiaohong','lihua']


for循环:
for i in List:
    print(f'Hello,{i}')

while循环:
n = 0
while n <=2:
    print(f'hello,{List}')
    n = n + 1



break提前结束循环:
循环打印1~100的数字:          提前结束循环:

n = 1                                       n = 1
while n <= 100:                         while n <= 100:
    print(n)                                       if n > 10:   #当n = 11时满足条件
    n = n + 1                                        break      #结束当前循环
                                                       print(n)
                                                       n = n + 1

continue跳过某些循环:
循环打印1~100的数字:      只打印奇数:

n = 0                                       n = 0
while n <= 100:                      while n < 100:
    print(n)                                    n = n + 1
    n = n + 1                                 if n % 2 == 0:   
                                                         continue
                                                    print(n)
##for 循环通常用于遍历一个序列(如列表、元组或字符串)或者其他可迭代对象,而不是用来执行固定次数的迭代。如果想要执行一个固定次数的循环,应该使用 while 循环。
##特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程

问题:
n = 1
while n <= 10:
    if n % 2 == 0:
      continue
    print(n)
    n = n + 1
在打印1后会卡住,python版本为3.11.3(32bit)

罗曼罗兰 发表于 2024-4-17 15:26

n = 1
while n <= 10:
    if n % 2 == 0:
      n = n + 1
      continue
    print(n)
    n = n + 1

kittylang 发表于 2024-4-17 18:18

建议,代码使用markdown编辑,或者使用插入代码功能,特别是python这种依赖缩进的,一团糟

kittylang 发表于 2024-4-17 18:20

本帖最后由 kittylang 于 2024-4-17 18:28 编辑

n = 1会打印,然后n=2了,会一直满足if n % 2 == 0,一直continue,这是个死循环。这其实不是滥用continue,而是对运算不熟悉

wht1301 发表于 2024-4-17 21:09

现在学习编程语言,用chatgpt应该会方便很多
页: [1]
查看完整版本: python练习记录