python学习 lesson5while循环和字符串

一、while循环

循环示意图

在这里插入图片描述

循环的作用就是让 指定的代码 重复的执行,while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行。

while 语句基本语法

while 条件语句:
    满足条件执行的语句

 else:
    不满足条件执行的语句while 条件语句:
    满足条件执行的语句

 else:
不满足条件执行的语句

eg:
做100内的加法

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

while死循环

当while后的条件永为真时,则会陷入死循环(无数次执行)
如何定义条件为真:
while True:
while 1/2/‘python’: bool(1)
while 2>1:

while嵌套

99乘法表

row=1
while row <= 9:
    col=1
    while col <= row:
        print('%d*%d=%d\t' %(col,row,row*col),end='')
        col+=1
    print('')
    row+=1

在这里插入图片描述
扩充:
print
\t:在控制台输出一个制表符,协助我们在输出文本的时候垂直方向保持对齐。
\n:在控制台输出一个换行符。
:转义字符

练习题

猜数字游戏
1.系统随机生成数字
2.用户总共有5次猜数字的机会
3.如果数字太大则输出‘too big’
4.太小输出‘too small’
5.如果猜对输出‘恭喜获奖100万’并且退出循环。

import random                               	                ##倒入random模块
right_num = random.randint(1,100)				##随即生成1-100之间的数
for chance in range(5):						##五次机会
    usr_num = int(input('输入一个1到100数字:'))
    if usr_num>right_num:
        print('too big!!你还有%d次机会'%(4-chance))
    elif usr_num<right_num:
        print('too small!!你还有%d次机会'%(4-chance))
    else:
        print('恭喜中奖100万')
        break
else:
    print('谢谢惠顾!')

二、字符串

1.字符串的定义:

str是在Python编写程序过程中,最常见的一种基本数据类型。字符串是许多单个子串组成的序列,其主要是用来表示文本。字符串是不可变数据类型,也就是说你要改变原字符串内的元素,只能是新建另一个字符串。虽然这样,但python中的字符串还是有许多很实用的操作方法。

定义一个字符串

a = 'hello'                ##普通字符串	
c = 'what\'s'		   ##包含特殊字符的字符串需要转移字符/转义
d = "what's"		   ##双引号亦可转义
e = '''                    ##长篇字符块
	用户管理系统
	1.添加用户
	2.删除用户
	3.改变用户信息
	4.查找用户 
'''

字符串类型为str,用str()以转换为字符串

2.字符串的特性

索引:0,1,2,3,4(索引值是从0开始的)

print(s[0])              #拿出第一个字符
print(s[-1])             #拿出最后一个字符

在这里插入图片描述
运行结果:
在这里插入图片描述

切片

print(s[0:4:2]) 		  #切片规则 s[start:end:step] 从start开始到end-1结束,步长为2
print(s[:])    			  #显示所有字符
print(s[::-1])   		  #字符串倒叙
print(s[1:])   			  #除了第一个字符以外,其他全部显示

在这里插入图片描述

重复

print(s * 10)   		 #输出10遍s

在这里插入图片描述

连接

print('hello' + 'python')

在这里插入图片描述

成员操作符

print('Hi' in s) 		##若有这些字符输出Ture,否则输出False
print('Hi' not in s) 		##若无这些字符输出Ture,否则输出False

在这里插入图片描述

三、字符串常用方法

1.大小写转换

是否为题目(首字母大写)

'Hello'.istitle()  

是否为大写

'HELLO'.isupper()

转换为大写

'hello'.upper()

是否为小写

'Hello'.islower()

转换为小写

'Hello'.lower()

转换为题目
'hello'.title()

2.去除字符串的空格

s = '    hello    '                                                           
s.strip()                                 ##去掉空格                                      
'hello'

s.lstrip()                                ##左边取消空格                                   
'hello    '

s.rstrip()                                ##右边取消空格         
'    hello'

s = '\nhello    '                                                            
s.strip()
'hello'

s = '\nhello\t\t'                           ##\n和\t默认为空格
                             
s.strip()                                                             
'hello'

s = 'helloh'                                                                 
s.strip('h')				    ##删除两边的h
'ello'

s.strip('he')                               ##删除两边的he                                 
'llo'

s.lstrip('he')                              ##删除左边的he                       
'lloh'

3.开头和结尾的匹配

filename = 'hello.loggg'
if filename.endswith('.log'):                          ##如果以.log结尾
    print(filename)
else:
    print('error file')

在这里插入图片描述

4.判断字符

判断是否为数字’1234’.isdigit()
判断是否为字母’fafsdv’.isalpha()
判断是否为字符数字组合’fvavds12314’.isalnum()
练习 便两名是不是合法:

while True:
s = input('输入一个变量名:')
if s == 'exit':
    break
if s[0]=='_' or  s[0].isalpha():
    for i in s[1:]:
        if not (i.isalnum()) and i=='_':
            print('变量名不合法')
            break
        else:
            print('变量名合法')
            break
else:
    print('变量名不合法')

在这里插入图片描述

字符串的搜索与替换

s = ‘hello world hello’
print(s.find(‘hello’)) ##找到子串,并返回最小索引
print(s.rfind(‘hello’)) ##找到子串,并但会最大索引
print(s.replace(‘hello’,‘westos’)) ##替换字符串中的hello为westos

字符串的对齐

print(‘学生管理系统’.center(30)) ##共输出30个字符且’学生管理系统’居中
print(‘学生管理系统’.center(30,)) ##共输出30个字符且’学生管理系统’居中替换空格
print(‘学生管理系统’.ljust(30)) ##从左对其
print(‘学生管理系统’.ljust(30)) ##从右对其

字符串的统计

print(‘hello’.count(‘l’)) ##l在字符串中出现了几次
print(‘hello’.count(‘ll’)) ##ll在字符串中出现了几次
print(len(‘hello’)) ##字符传长度

字符串的分离和连接

字符串的分离

s = '171.25.254.250'
s1 = s.split('.')
print(s1)

在这里插入图片描述

date = '2018-12-04'
date1 = date.split('-')
print(date1)

在这里插入图片描述

连接,通过指定的连接符,连接每个字符串
print(’’.join(date1))
print(’/’.join(date1))
print(’@’.join(‘hello’))

猜你喜欢

转载自blog.csdn.net/qq_38864155/article/details/84932581