python3---循环语句和字符串

[1]循环的跳出

break	 ---> 跳出整个循环,不会再执行循环后续的内容
continue ---> 跳出本次循环,但是还是会继续循环
exit()	 --->  结束程序的运行

[2]for循环和ragne函数

range函数
python2:
	range(1,5):即刻生成数据,消耗时间并且占用内存
	xrange(1,5):先生成一个xrange对象,使用值的时候才生成数据,才占用内存
python3:
	range(1,5):相当于python2中的xrange
range的使用:
	range(start,end,step):从start开始,到end-1结束,步长为step(默认为1)
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,5)
[1, 2, 3, 4]
>>> range(1,8,2)
[1, 3, 5, 7]
>>> range(9,1,-2)
[9, 7, 5, 3]
for 循环的语法:
	for 变量 in range(10):
		循环需要执行的代码
	else:
		循环结束时需要执行的代码
for循环的应用

应用1

 需求1:求1~100之间的所有偶数之和
 需求2:求1~100之间的所有奇数之和
 需求3:用户输入一个整形数,求该数的阶乘;3!=3*2*1

在这里插入图片描述
应用2

用户登陆程序需求:
	1.输入用户名和密码
	2.判断用户名和密码是否正确(name = 'root',passwd='westos')
	3.为了防止暴力破解,登陆仅有三次机会,如果超过三次,程序就报错

在这里插入图片描述
应用3

输入两个数值: 
	求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数

在这里插入图片描述

os模块的使用
import os		导入os模块
cmd = input("请输入命令:")	输入一个命令
os.system(cmd)	执行这个输入的命令

应用3:os的使用
在这里插入图片描述

[3]while循环

while循环的理解
while 条件:
	条件满足时,做的事情1
	条件满足时,做的事情2
 1.定义一个整数变量,记录循环次数
i=1
 2.开始循环
while i<=5:
	print ('hello python')	
	处理计数器
	i += 1

计算0~100之间的所有偶数累计求和

i = 0
sum = 0
while i <= 100:
	if i % 2 ==0:
		sum += i
	i += 1
print('0~100之间的所有偶数累计求和的结果是 %d' %sum)

死循环

while True:
	print('hello python')
while循环的应用

应用1猜数字游戏

if , while(for), break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
 5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;

在这里插入图片描述
在这里插入图片描述
应用2:编辑乘法表格
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[4]字符串的定义和特性

字符串的定义

字符串的创建
a = 'hello'
b = "python"
c = """
	用户管理系统
	1.添加用户
	2.删除用户
	3.显示用户
"""
字符串常用的转义符号
\n:换行
\t:一个tab键
\"
\'

字符串的特性

索引[0,1,2,3,4 索引是从0开始的]
>>> s="hello"
>>> print(s[4])	---> 拿出字符串索引为4的字符
o
>>> print(s[-1])	---> 拿出字符串的最后一个字符
o
切片

s[start : end : step] 从start开始,到end-1结束,步长为step(默认是1)

>>> s="hello"
>>> print(s[0:3])	---> 显示前3个字符
hel
>>> print(s[0:4:2])	---> 以步长为2选择前4个字符
hl
>>> print(s[:])		---> 显示所有字符
hello
>>> print(s[:3])	---> 显示前3个字符
hel
>>> print(s[::-1])	---> 字符串倒序输出
olleh
>>> print(s[1:])	---> 除了第一个字符之外,其他的全部显示
ello
重复

print(s*10)

连接

print('hello '+'world')

成员操作符

print('he' in s)

字符串特性的应用

判断一个整数是否是回文数?回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
在这里插入图片描述

[5]字符串的使用

字符串的判断
isalnum() ---> 是不是数字或者字母;	 isalpha() ---> 是不是字母 	
isdigit() ---> 是不是数字;	 islower() ---> 是不是小写	
isspace() ---> 是不是为空;	 istitle() ---> 标题(首字母大写其余小写)
isupper() ---> 是不是大写;	lower() ---> 转化成小写	
upper() ---> 转化成大写;	title() ---> 转化成标题;	swapcase() ---> 大小写转换 
>>> "Hello".isupper()
False
>>> "HELLO".isupper()
True
>>> "12hu".isdigit()
False
>>> "12".isdigit()
True
>>> "12hu".isalnum()
True
>>> "12".isalnum()
True
>>> "HELLO".lower()
'hello'
匹配字符串的开头和结尾
startswith("查询字符")	--->是否以查询字符开头
endswith("查询字符")	---> 是否以查询字符结尾
>>> "HELLO".endswith("O")
True
>>> "HELLO".startswith("H")
True
url3 = 'http://172.25.254.250/index.html'
if url3.startswith('http://'):
	print('爬取网页')
else:
	print('不能爬取网页')
去除空格
strip()		---> 去除左右两边的空格
lstrip()	--->去除左边的空格
rstrip()	---> 去除右边的空格
# 注意: 去除左右两边的空格, 空格为广义的空格, 包括: \n, \t, \r
>>> s=" 		hello		"
>>> s.strip()
'hello'
>>> s.lstrip()
'hello\t\t'
>>> s="helloeh"
>>> s.strip("h")	---> 去掉左右两边的“h”
'elloe'
>>> s.lstrip("h")	---> 去掉左边的“h”
'elloeh'
>>> s.strip("e")	---> 去掉左右两边的“e”
'helloeh'			---> 结果出错
# 如果第一个字母不是要去掉的字符,字符串将不会去掉这个字母,反之去掉这个字母

应用1:判断变量名是否合法

变量名可以由字母,数字或者下划线组成;
变量名只能以字母或者下划线开头;

在这里插入图片描述

字符串的据中显示
center	---> 左右据中
ljust	---> 据左显示
rjust	---> 据右显示
>>> print("你好".center(50,'$'))
$$$$$$$$$$$$$$$$$$$$$$$$你好$$$$$$$$$$$$$$$$$$$$$$$$
>>> print("你好".ljust(50,'$'))
你好$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
>>> print("你好".rjust(50,'$'))
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$你好

应用2:输出菱形

输出星号组成的菱形

在这里插入图片描述

字符串的搜索和替换和统计
find	---> 查找字符在字符串最左边的索引
rfind	---> 查找字符在字符串最右边的索引
replace	---> 将字符串中特定字符替换成指定字符
count	---> 统计字符在字符串出现的次数
>>> s="hello python3 , python3 , learn python3"
>>> s.find("python3")
6
>>> s.rfind("python3")
32
>>> s.replace("python3","linux")
'hello linux , linux , learn linux'
>>> s.count("u")
0
>>> s.count("p")
3
字符串的分离和拼接
split	---> 将字符串根据指定字符分离开
join	---> 将字符串根据指定字符拼接起来
is 和 == 的区别

==:type,value
is: type,value,id

id:在内存中存储的位置
type:变量的类型
value:变量的值

结论:
is 表示两个变量的值是否在同一块内存空间
== 表示的是值是否相等

总结:
is 返回的值是True, == 返回的一定是True
>>> s="ming bu zai jia"
>>> p=s.split(" ")
>>> print(p)
['ming', 'bu', 'zai', 'jia']
>>> "*".join(p)
'ming*bu*zai*jia'
常用内置函数
min ---> 求最小数 ; max ---> 求最大数 ; sum ---> 求数和
枚举 ---> 返回字符串的索引值和对应的value值
zip  ---> 将两个字符串对应的索引值的value值拼接起来
>>> min(8,9,67)
8
>>> max(8,9,67)
67
>>> sum(range(1,100))
4950
>>> for i,v in enumerate("hello"):
... 	print(str(i) +" -----> " + v)
... 
0 -----> h
1 -----> e
2 -----> l
3 -----> l
4 -----> o
>>> s="kai"
>>> p="xin"
>>> for i in zip(s,p):
... 	print("--*.*--".join(i))
... 
k--*.*--x
a--*.*--i
i--*.*--n
字符串的应用

应用1:句子反转

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,
单词用空格分割, 单词之间只有一个空格,前>后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”

应用2:计算10以内加法
在这里插入图片描述
应用3:百以内混合运算
在这里插入图片描述
在这里插入图片描述
应用4:判断素数
在这里插入图片描述
应用5:判断完全数
若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数,
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值