python流程控制

python流程控制

if条件分支语句

python条件语句就是通过一条或者多条语句执行的结果(True/False)来决定执行的代码块。

  • if单分支语句
if逻辑语句:
     语句(块)

demo:

print("向Python致敬,我正在学习。")
if False:
    print("66666")

print("1111.")
learning = "python"
if learning == "python":
    print("巧哦")
print("Nice to meet you.")

if分支语句

if逻辑语句1:
      语句模块1
else: 
      语句模块2

if 多分支语句

C语言中

if
     if
         if
         else
     else
else

python:

if 逻辑语句1:
     语句()1
elif 逻辑语句2:
     语句()2
elif 逻辑语句 n-1:
     语句()n-1
else:
     语句()n

根据百分制考试成绩返回五级分制成绩。

90-100:A

80-90:B

70-80:C

60-70: D

0-60:E

score = int (input("请输入分数:"))
if score > 100:
    print("学霸靠一百,是因为满分只有一百。")
elif score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("E")

从控制台输入一个三位数,判断其是否为水仙花数。

153 = $ 1^3$ +$ 5^3 $+ 3 3 3^3 33

num = int( input("dd一个数字:"))
x = num %10
y = num//100
z = num//10%10
if num == (pow(x,3)+pow(y,3)+pow(z,3)):
    print("你真是个水仙花")
else:
    print("no")

while 语句

  • 循环语句

    -所谓循环,就是用来执行部分代码在一定条件下重复执行代码。

格式:

while 逻辑语句:
     语句(块)

(1)利用while来打印1-200的数字:

i = 1
while i<=200 :
    print(i)
    i += 1

(2)利用while来求1-100的和。

i = 1
sum =0
while i <= 100:
    sum = i+sum
    i = i + 1
print(sum)

(3)利用while求1-100内所有的偶数和。

i = 1
sum =0
while i <= 100:
    if i%2 == 0:
       sum = i+sum
    i = i + 1
print(sum)

(4)求100-999内所有的水仙花数。

num = 100
while num <= 999:
      x = num %10
      y = num//100
      z = num//10%10
      if num == (pow(x,3)+pow(y,3)+pow(z,3)):
         print(num)
      num = num + 1

for 循环

Python中for,可以用来遍历任何序列(字符串,列表,元祖,etc.)

格式

for i in 序列:
    语句(块)

1.range()

range(end)# [0,end-1],end为整数

range(start,end)#[start,end-1],两个数为整数
range(start,end,step)#[start,start+step,start+2*step,....start+(end-start)//step*step]
for i in range(1,101,2):
    print(i,end=" ")

结果:1,3,5,7….95 97 99

break和continue

  • break用来结束一个循环,跳出循环体。

  • continue终止本次循环的动作,直接进入下一次循环。

    while…else

whlie…else

count = int(input("Enter a INT:"))
while count<= 5:
     print(count,end=" ")
     count +=1
     if count ==3:
        break
else 
     print("这里是else语句。")

for…else…

while…else,for…else中while和else是一块的,for和else也是一块的。

当有break或者return的时候就会跳出while。如果没有break或者return,不管while是否执行,都会执行else语句

字符串

1.什么是字符串

  • 用引号引起来的一串字符

  • 用引号来创建字符串

    ​ -单引号

    ​ -双引号

    ​ -三单引号

    ​ -三双引号

#创建字符串
name = “Hangzhou”
area = ‘Gongshu’
history = “5000”
famous_person = “”“苏轼,许仙,白素贞”""
Captical0f=’’‘吴越,南宋’’’
print(type(name),type(area),type(history),type(famous_person),type(Captical0f))


==结果:<class 'str'> <class 'str'> <class 'str'> <class 'str'> <class 'str'>==

说明以上数据都是字符串

单引号和双引号使用时需注意匹配关系,且不可以换行

如果需要换行,三单引号或者三双引号

pm = ‘’‘轻轻地我走了,
正如我轻轻地来。’’’
print(pm)


字符串的运算及常见操作

### **(1)拼接**

==a= “Hello”==

==b= “,Python.”==

==print(a + b)==

==a = [“Hello”]==

==b=[“,Python.”]==

==print(a+b)==

<u>拼接基于同一种数据类型</u>

### **(2)重复**

a = “City College”

print(a*3)

### **(3)索引(偏移)[]             切片[:] [::]**

==len()方法语法:==
==len( str )==
==返回值:返回字符串长度。==

sr = “Python”
print(len(sr))
print(sr[5])


切片

##0123456789012345678901234567890

sr = “Life is short,you need python.”
print(len(sr))
print(sr[1:4:2])
#1代表起始值,4代表终止值(但取不到),2代表步长




### **(4) 大小写互换** 

sr .lower() :转小写

sr .upper() :转大写

sr .swapcase() :大小互换

sr .title() :转为标题形式

sr .capitalize() :首字母大写

```python
sr = "life is short,you NEED python."
print(sr.lower())
print(sr.upper())
pring(sr.swapcase())
pring(sr .title())
pring(sr .capitalize())

验证码确认

certid = "AbCd"
ipt = input("请输入验证码:")
if ipt.lower() == certid.lower():
        print("输入成功")
else:print(“弟弟”)
#输入ABCD则也显示成功,无关大小写。

(5)字符串的格式输出对齐

-sr.center([len],[填充符号])

-sr.ljust([len],[填充符号]),居左对齐

-sr.zfill([len]),居右对齐,默认填充0

sr = “Life is short, you need python.print(sr.ljust(41,#’))

print(sr.rjust(41,'#'))

(6)删除指定字符

–sr.strip()

–sr.lstrip()

–sr.rstrip()

sr = “#####Life is short, you need python.#####”

print(sr.strip("#"))

若不在同一行,则无法删除

sr = “\n#####Life is short, you need python.#####\n”

(7)计数

– sr.count()

    ##0123456789012345678901234567890
sr = "Life is short, you need python."
print(sr.count('o',9,17))
#输出结果 2

(8)字符串搜索定位和替换

–sr.find(),查找元素并反返回第一次出现的元素的索引值;查找不到,返回-1

–sr.index(),查找元素并反返回第一次出现的元素的索引值;查找不到,报错

–sr.rindex(),从右往左

–sr.replace([现有],[替新])

    ##0123456789012345678901234567890
sr = "Life is short, you need python."
print(sr.find('z',19,25))
print(sr.index('e',19,25))
print(sr.rindex('e'))
print(sr.replace('t','T','1'))

(9)字符串条件判断

–isalnum(),判断字符串有字母或者数字组成

–isalpha(),仅有字母

–isdigit(), 仅有数字

#判断是否全为数字
>>> a ="123"
>>> a.isdigit()
True
>>> b ="a123"
>>> b.isdigit()
False

#判断是否全为字母
>>> d ="alx--e"
>>> d.isalpha()
False
>>> c ="alex"
>>> c.isalpha()
True

#判断是否全为数字或者字母
>>> e ="abc123"
>>> e.isalnum()
True

(10)制表符的转化

—sr.expandtabs()

nm = "012345678901234567890123456789"
sr = "Life is short,you nee\td python."
print(nm)
print(sr.expandtabs(4))

(11)字符串的分割变换

– join(),将指定字符插入到元素之间

–split(),以指定字符分割字符串并去除该字符

–partition(),以指定字符分割字符串并保留该字符

#sr = "Life is short,you need python."
#print('+'.join(sr))
li = ["I ","Love ","Python."]
print(''.join(li))
print(sr.split('o',2))
print(sr.partition('0'))

(12)ASCII值何字符转化

—chr()dight ---->alpha

—ord()alpha ---->dight

for i in range(ord('a'),ord('z')+1):
    print(chr(i),end=" ")

拓展

string模块

import string
print(dir(string))

结果:

[‘Formatter’, ‘Template’, ‘_ChainMap’, ‘_TemplateMetaclass’, ‘all’, ‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘_re’, ‘_string’, ‘ascii_letters’, ‘ascii_lowercase’, ‘ascii_uppercase’, ‘capwords’, ‘digits’, ‘hexdigits’, ‘octdigits’, ‘printable’, ‘punctuation’, ‘whitespace’]

import string
print(string.ascii_letters)

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.ascii_lowercase)

abcdefghijklmnopqrstuvwxyz

print(string.ascii_uppercase)

ABCDEFGHIJKLMNOPQRSTUVWXYZ

(13) 格式化输出

输出八进制数和十六进制数

for i in range(8):
    print(oct(i),end=" ")
print()
for i in range(16):
    print(hex(i),end=" ")
#输出结果:
0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7 
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 

print()
print('%o'%17)  #八进制
print('%x'%17)  #十六进制

ters)


abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.ascii_lowercase)


abcdefghijklmnopqrstuvwxyz

print(string.ascii_uppercase)


ABCDEFGHIJKLMNOPQRSTUVWXYZ



### (13) 格式化输出

**输出八进制数和十六进制数**

for i in range(8):
print(oct(i),end=" “)
print()
for i in range(16):
print(hex(i),end=” ")
#输出结果:
0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf

print()
print(’%o’%17) #八进制
print(’%x’%17) #十六进制


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值