Python-字符串

字符串的定义

a = 'westos'
b = "what's"
c = """
用户管理系统
1.添加用户
2.删除用户
3.显示用户
....

"""
print(c)

在这里插入图片描述
在这里插入图片描述

字符串的特性.py

s = 'hello' # 索引:0 1 2 3 4 索引从0开始
print(s[0])   ##表示第一个字符
print(s[1])

# 拿出最后 一个字符
print(s[4])  ##表示第五个字符
print(s[-1])  ##表示最后一个字符

在这里插入图片描述

# s[start:stop:step] 从satrt开始到end -1结束
# 步长为step
print(s[0:3])  ##左闭右开
print(s[0:4:2])

在这里插入图片描述

# 显示所有的字符
print(s[:])

# 显示前3个字符
print(s[:3])

# 字符串的反转
print(s[::-1])

# 除了第一个字符之外的其他全部字符
print(s[1:])

在这里插入图片描述

# 重复
print(s * 10)

# 连接
print('hello ' + 'python')

在这里插入图片描述

# 成员操作符
print('he' in s)
print('aa' in s)
print('he' not in s)

在这里插入图片描述

for循环遍历

for i in s:
  print(i)

在这里插入图片描述

字符串练习

##判断是否是回文数

num = input('Num:')
print(num == num[::-1]) ##字符串反转,判断是否相同

在这里插入图片描述
在这里插入图片描述

.字符串的常用方法

>>> 'hello'.istitle()   ##判断是否是标题,(第一个大写,其余字母小写)
False
>>> 'hello'.isupper()  ##判断是否为大写
False
>>> 'Hello'.isupper()
False
>>> 'HELLO'.isupper()
True
>>> 'hello'.islower()  ##判断是否为小写
True
>>> 'Hello'.islower()  
False

在这里插入图片描述

>>> 'Hello'.lower()  ##临时转换为小写
'hello'
>>> a = 'Hello'.lower()
>>> a
'hello'
>>> a = 'Hello'.upper()  ##转换为大写并赋值给a
>>> a
'HELLO'
>>> a = 'Hello'.title()
>>> a
'Hello'

在这里插入图片描述

.字符串常用方法02

filename = 'hello.loggg'
if filename.endswith('.log'):   ##判断filename是否以.log结尾
   print(filename)
else:
  print('error.file')

url = 'https://172.25.254.250/index.html'
if url.startswith('http://'):       ##判断是否以http://开始
  print('爬取内容~~')
else:
   print('不能爬取~~')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符串的特性

注意:去除左右两边的空格,空格为广义的空格 包括:\t \n

strip() 函数
s:字符串

>>> s = '       hello'
>>> s
'\thello'       ##垃圾信息
>>> s = '        hello'
>>> s
'        hello'
>>> s.lstrip()   ##表示去掉左边的空格
'hello'
>>> s = '        hello      '
>>> s
'        hello      '
>>> s.lstrip()   
'hello      '
>>> s.rstrip()   ##表示去掉右边的空格
'        hello'
>>> s.strip()  ##表示去掉两边的空格
'hello'
>>> s = '       hello'
>>> s
'\thello'
>>> s.strip()
'hello'
>>> s = '       hello\n'   ##去掉两边的空格指广义的空格,包括\n
>>> s
'\thello\n'
>>> s.strip()
'hello'


>>> s = 'helloh'
>>> s.strip('h')    ##去掉字符串两端的h
'ello'
>>> s.lstrip('h')   ##去掉左端的h
'elloh'

在这里插入图片描述

字符串的判断

[[:digit:]] [[:alpha:]]

 只要有一个元素不满足,就返回False
print('weeeqwe32131'.isdigit())  ##是否为纯数字
print('42131321fsas'.isalpha())   ##是否为纯字母
print('weewqeq323213'.isalnum())   ##是否为数字和字母

在这里插入图片描述

字符串练习02

变量名定义是否合法:
1.变量名可以由字母 数字 下划线组成
2.变量名只能以字母或者下划线开头
s = '321csv_' s[0] s[1:]   ##分开判断
s = 'asfasf%%'
'_'     ##判断是否含有下划线
exit  

内容

while True:  ##永真
s = input('变量名:')
if s == 'exit':
    print('exit')
    break   ##退出循环
if s[0].isalpha() or s[0] == '_':    ##以字母或者下划线开始,如果是继续监测后面的
    for i in s[1:]:
      if not (i.isalnum() or i == '_'):
          print('%s变量名不合法' %(s))
          break      ##跳出for循环,不再检测后面的
    else:
        print('%s变量名合法' %(s))
else:  ##如果首字符都不合法,直接输出不合法
    print('%s变量名不合法' %(s))

在这里插入图片描述
在这里插入图片描述

字符串的对齐.py

print('学生管理系统'.center(30))   #居中,一共30个字符,其余用空格补充
print('学生管理系统'.center(30,'@'))  ##其余用@补充
print('学生管理系统'.center(30,'&'))
print('学生管理系统'.ljust(30,'#'))  #左对齐
print('学生管理系统'.rjust(30,'#'))  #右对齐

在这里插入图片描述
在这里插入图片描述

字符串的替换.py

s = 'hello world hello'

find 找到子字符串,并返回最小的索引

print(s.find('hello'))
print(s.find('world'))
print(s.rfind('hello'))  ##找到最右边的,并进行索引,从0开始数
#没有lfind!

替换字符串中的hello为redhat

print(s.replace('hello','redhat'))

在这里插入图片描述

字符串的统计

统计个数
print('hello'.count('l'))
print('hello'.count('ll'))

print(len('wfqfqfqfq'))  ##字符串的长度

在这里插入图片描述

字符串的分离和连接.py

s = '172.25.254.250'
s1 = s.split('.')   ##以.分开
print(s1)
print(s1[::-1])   ##反转

date = '2019-8-28'  
date1 = date.split('-')    ##以-分开
print(date1)

在这里插入图片描述

连接 通过指定的连接符号 连接每个字符

在这里插入图片描述

字符串的练习

小米笔试编程题目

  • 题目描述:

      > 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,
      单词用空格分割, 单词之间只有一个空格,前>后没有空格。
      比如: (1) “hello xiao mi”-> “mi xiao hello”
      - 输入描述: 
      > 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
      - 输出描述: 
      > 对于每个测试示例,要求输出句子中单词反转后形成的句子
      	- 示例1:
      ```
      - 输入
          hello xiao mi
      - 输出
          mi xiao hello
    
    
      	步骤
    
      print(' '.join(input().split()[::-1]))
    

在这里插入图片描述
也可以只用一条命令

在这里插入图片描述

20.综合练习

	1. 设计一个程序,帮助小学生练习10以内的加法
详情: 
	- 随机生成加法题目;
	- 学生查看题目并输入答案;
	- 判别学生答题是否正确?
	- 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);

在这里插入图片描述使用str是因为Input的类型为字符串型,不能更改为Int型,因为还包含exit
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,
它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目;
练习者根据显示的题目输入自己的答案,
程序自动判断输入的答案是否正确并显示出相应的信息。
"""
import random
op = ['+','-','*','/']
print(random.choice(op))

在这里插入图片描述//只取整数部分
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值