Python教程

Python | python基础(四) - 字符串和编码

本文主要是介绍Python | python基础(四) - 字符串和编码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

分支循环判断

1. 判断

1.1. if/else

python的条件判断是什么?

python中使用if,else,elif 作为条件判断

使用缩进表示 层级关系

  • 如果if判断为true ,则执行下面的缩进的语句
  • 如果if判断为false,则不执行,如果还有else,则执行else的语句

▶Example:

age = 20
if age >= 18:
	print("你已经是成年人!")
else:
	print("你还是未成年人!")

优化上述的判断:

age = 20 
if age >=18:
	print("你是成年人")
elif age >6:
	print("你是青少年)
else:
	print("你是小孩")

else if 用 elif 缩写表示

所以if判断的完整形式是 :

if   条件判断1:
	执行语句
elif 条件判断2:
	执行语句
elif 条件判断3:
	执行语句
....
else:
	执行语句

if else 语句的执行特点,如果if判断条件为true,则执行后面的缩进语句后,不执行后面的elif或else

age = 20 
if   age >=18:
	print("你是成年人")
elif age > 6:
	print("你是青少年")
else:
	print("你是小孩子")

则执行输出第一个执行语句 print("你是成年人),就完了

在这里插入图片描述

if else 判断还可以写成

if 'x':
	print("hello world!)

'x'的值为true,非0数值,非空字符串,非空list等,就判断为true,否则为false

所以可以正常输出

在这里插入图片描述


注意事项和细节

  • 注意条件判断后面有一个:冒号
  • python中的缩进是四个空格tab的缩进
  • 'x'的值为true,非0数值,非空字符串,非空list等,就判断为true,否则为false

练习

在这里插入图片描述

答案:

hegiht = 1.75
weight = 80.5
bmi = weight / (height*height)

if bmi < 18.5:
	print("过轻!")
elif  bmi <25:
	print("正常")
elif bmi <28:
	print("过重")
elif bmi < 32:
	print("肥胖")
else:
	print("严重肥胖!!!")

注意事项:

由于if-else语句是由上到下执行,符合条件就中止,所以只要按照范围的顺序,就可以完成判断条件可以是
< 18.5,< 25,< 28,< 32,
而不用加上具体的范围18.5-25.25-28,28-32


优秀答案

name = input('请输入你的名字:')
height = float(input('请输入你的身高(米):'))
weight = float(input('请输入你的体重(KG):'))
bmi=weight/(height**2)
if bmi < 18.5:
    print('%s,你的BMI指数为%.1f,太廋了哦!' % (name,bmi))
elif bmi <= 25:
    print('%s,你的BMI指数为%.1f,身体正常!' % (name,bmi))
elif bmi <= 28:                                 
    print('%s,你的BMI指数为%.1f,身体过重!' % (name,bmi))
elif bmi <= 32:
    print('%s,你的BMI指数为%.1f,身体肥胖!' % (name,bmi))
else:                                          
    print('%s,你的BMI指数为%.1f,太肥了吧!' %(name,bmi)) 


2. 分支

....

3. 循环

为什么需要循环?

如果我们要进行一个运算计算当n=1,2,3..时,从1+2+3+4+n的和。

这样运算较少的情况可以直接计算出来

显然就是

r1 = 1
r2 = 1+2
r3 = 1+2+3
r4 = 1+2+3+4+5

每次需要下一个值,这个需要的,这个值的特点就是上一个加一

但是如果是计算量再大一点呢,从1+2+3+4+5+6+7+8+9+..20,勉强可以计算出来

再大一点呢 1+2+3+4+....n

显然,无法直接计算出来

这样就要使用到循环

python中的循环

  1. for in
  2. while

3.1. for in

names = ['tom','jack','judy','mike']
for name in names:
	print(name)

# print 
tom
jack
judy
mike

执行过程分析:

循环name(for name),这个name来自(in)names
依次把names中的元素赋值给name,然后输出
names中是需要的值

用循环输出1+2+3+4+5整数和,用sum输出

就是把所有需要的值先给出来1,2,3,4,5,然后依次的用出

sum = 0
for x in [1,2,3,4,5]:
	sum = sum + x 
print(sum)

# print results
15

同样的,这个是量比较小,如果是1+2+3+4..100呢,显然无法一个个列出来,这个时候,需要用range


3.2. range()

range是什么?

  • 中文: n. 范围;区间
  • range是一个迭代生成器

▶Example: 使用 range(0,5)生成0,1,2,3,4 五个序列数

range(x,y),生成的序列,表示x~y ,不包括y,包括x

如果只是一个参数 ,range(5),表示默认从0开始~5,不包括5也就是0,1,2,3,4

sum=0
for x in range(6):
	sum+=x
print(sum)

运行:

15

❌报错;

TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'

虽然使用range(),这个迭代生成器,但是我们还是要回到基本的原理,就是每一次循环需要一个

无论是[ ],(),还是range(),生成的序列,只不过是完成了这个目的的其中一种方式


3.3. while

第二种循环就是whlie,当型循环,条件满足,则循环,当条件不满足,则结束循环

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

运行:

1
3
5
7
9
11
13
15
17
19
21
23
25
27
29

这篇关于Python | python基础(四) - 字符串和编码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!