字符串的定义
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))
//只取整数部分