a = 'hello'
b='what\'s up' ##字符串中出现单引号,用反斜杠转义
c="what's up" ##或者使用双引号定义字符串
print(a)
print(b)
print(c)
s = 'hello'
print(s[0]) ##打印字符串中的第0个字符
print(s[1]) ##打印字符串中的第一个字符
1.切片
s='hello'
print(s[0:3]) ##切片的规则:s[start:end:step] 从start位置开始,到end位置结束,步数为2(间隔为2)
print(s[0:4:2]) #输出结果为hl
2.显示所有字符
print(s[:])
3.显示前3个字符
print(s[:3])
4.显示第一个字符之后的所有字符
print(s[1:])
对字符串倒序输出
print(s[::-1])
print(s * 5) ##输出5此字符串s
print(s + 'world')
print('h' in s) ##判断字符串中是否有h字符,有的话,输出true,没有的话,输出false
#循环操作打印字符串s中的字符
for i in s:
print(i)
"""
# _*_coding:utf-8_*_
Name:回文数判断.py
Date:1/15/19
Author:westos-dz
Desc:
121 10201,类似这种字符为回文形式
"""
"""
判断输入的字符串是否是回文数,是回文数,输出true,否则输出false
"""
print('判断输入的字符是否是回文数,是回文')
s1=str(input('请输入字符串:'))
s2=s1[::-1] ##将客户输入的字符的倒序输出为字符串s2
if (s1==s2): ##如果字符串与其倒序相同,就是回文形式
print('true')
else:
print('false')
#判断字符串里每个元素是否为 什么类型
#一旦有一个元素不满足,就返回False
1#digit:数字 判断某个字符串是否全是数字
print('123'.isdigit()) ##123全部都是数字类型,返回True
print('123abc'.isdigit()) ##123abc不全是数字类型,返回False
2#title:标题 判断某个字符串是否是标题(第一个字母大写,其他小写)
print('Hello'.istitle()) ##是标题
print('HelLo'.istitle()) ##不是标题
3#upper:大写 判断某个字符串是否是大写
print('hello'.upper()) ##输出hello的大写字符串
print('hello'.isupper()) ##hello不是大写字符串
4.#lower:小写 判断某个字符串是否是小写
print('HELLO'.lower()) ##输出HELLO的小写
print('Hello'.islower) ##Hello不是小写形式
5.#alnum: 数字或者字母 判断某个字符串是否是只有数字和字母
print('123'.isalpha()) ##True
print('aaa'.isalpha()) ##False
#1字符串开头的匹配
filename = 'hello.logg'
if filename.endswith('.log'): ##如果filename字符串以.log为结尾
print(filename)
else:
print('error filename')
#2字符串结尾的匹配
url1='file:///mnt'
url2='ftp://172.25.254.14/rhle7.0'
url3='http://172.25.254.14/rhel7.0'
if url3.startswith('http://'): ##如果url3字符串以http://结尾
print('获取网页')
else:
print('未找到网页')
a=' hello '
print(a) ##打印包含空格的字符串
b=' hello '
#去除字符串两边的空格
print(b.strip())
#去除字符串左边的空格
print(b.lstrip())
#去除字符串右边的空格
print(b.rstrip())
c= 'helloh'
#去除字符串的h
print(c.strip('h'))
#去除字符串左边的h
print(c.lstrip('h'))
#去除字符串右边的h
print(c.rstrip('h'))
#去除字符串中的‘he’
print(c.strip('he'))
"""
# _*_coding:utf-8_*_
Name:变量名合法性判断.py
Date:1/15/19
Author:westos-dz
Desc:
"""
"""
变量名是否合法:
1.判断变量名的第一个元素是否为字母或者下划线s[0]
2.如果第一个元素符合条件,判断第一个元素之外的其他元素是否是字母下划线或者数字
3.如果不合法,就输出字符串不合法
"""
a = input('请输入需要检测的变量名:')
first = a[0] ##定义字符串的第一个字符为变量first
other = a[1:] ##定义字符串出了第一个字符的其他的字符为变量other
if (first.isalpha() or first == "_"): ##判断第一个元素是否符合条件,符合条件,就继续判断其余字符是否符合条件
j=0 ##定义计数器,用于记录字符串中字符的循环次数
for i in other: ##开始循环
if not(i == "_" or i.isalnum()): ##循环中,如果每一个字符都不满足条件,输出不合法并且停止循环
print('变量名%s不合法' %a)
break
else: ##如果字符满足条件,计数器j+1
j = j+1
if j==len(other): ##循环结束,当计数器j(循环次数)等于字符串的长度时,说明,每一个字符都符合条件,输出合法
print('合法')
else: ##第一个字符不符合条件的输出不合法
print('变量名%s不合法' % a)
#1字符串的搜索
#find(self, sub, start=None, end=None)
s='hello world hello'
#find找到子串,并返回最小的索引
print(s.find('hello')) ##返回值为0,子串hello的第一个字符h在字符串s中的位置
print(s.find('world')) ##返回值为6,子串world的第一个字符w在字符串s中的位置
#find找到子串,并返回最大的索引
print(s.rfind('hello')) ##返回值为12,从字符串s的右侧向左查找
#2字符串的替换
#替换字符串中所有的'hello'为'westos'
print(s.replace('hello','westos'))
#1中心对齐(以空格填充,30代表字符串左右的字符数)
print('学生管理系统'.center(30))
print('学生管理系统'.center(30,'*')) ##以*填充
#2左对齐(右侧以*填充)
print('学生管理系统'.ljust(30,'*'))
#3右对齐
print('学生管理系统'.rjust(30,'*'))
print('学生管理系统'.rjust(30,'@'))
#1统计字符串中指定子串的数量
print('hello'.count('l'))
print('hello'.count('ll'))
#2统计字符串的长度
print(len('hello'))
#根据指定字符来分离字符串
s = '172.25.254.14'
s1=s.split('.') #以字符.来分离字符串
print(s1)
print(s1[::-1]) #得到反序字符串
date='2019-01-15'
date1=date.split('-') #以字符-来分离字符串
print(date1) #结果是['2019','01','15']
#通过指定的字符进行连接
print(''.join(date1)) #结果是20190115
print('/'.join(date1)) #结果是2019/01/15
"""
# _*_coding:utf-8_*_
Name:出勤记录.py
Date:1/15/19
Author:westos-dz
Desc:
"""
"""
给定一个字符串来代表一个学生的出勤记录,则个记录仅包含以下字符:
'A':Absent,缺勤
'L' Late,迟到
'P' Present,到场
如果一个学生的出勤纪录中不超过一个A,并且不超过两个连续的L,那么输出True
否则输出False
示例1:PPPALLP
输出:True
示例2:PPALLL
输出:False
"""
"""
#方法一:
a = input('请输入学生的出勤记录:')
if a.count('A') <= 1 and a.count('LLL') == 0:
print('True')
else:
print('False')
"""
# 方法二:
a=input('请输入学生的出勤记录:')
print(a.count('A')<=1 and a.count('LLL')==0)
"""
# _*_coding:utf-8_*_
Name:句子反转-小米面试.py
Date:1/15/19
Author:westos-dz
Desc:
"""
"""
题目描述:
给定一个句子(只包含字母和空格),将句子中的单词反转,单词用空格分隔
示例:
输入:
hello xiao mi
输出:
mi xiao hello
"""
"""
方法1
a = input('请输入第一个句子:')
b = a.split(' ')
c = b[::-1]
print(' '.join(c))
"""
#方法2
a = input('请输入第一个句子:')
print(' '.join(a.split(' ')[::-1]))
"""
# _*_coding:utf-8_*_
Name:练习-字符串相减.py
Date:1/15/19
Author:westos-dz
Desc:
"""
"""
题目描述:
输入两个字符串,从第一个字符串中删除第二个字符串中包含的所有字符
示例:
They are students.
aeiou
输出结果为
They r stdnts.
"""
a = input('请输入第一个字符串:')
b = input('请输入第二个字符串:')
for i in b:
a=a.replace(i,'')
print(a)
op = ['+', '-', '*', '/'] ##设表,表内容有加减乘除4种字符串
s = random.choice(op) ##s为表中随机一个字符串
""
#_*_coding:utf-8_*_
Name:加减乘除系统.py
Date:19-1-15
Author:westos-dz
Description:
小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以
下功能:
提供10道加、减、乘或除四种基本算术运算的题目;
练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否
正确并显示出相应的信息。
"""
import random ##导入随机数模块
count = 0 ##定义两个计数器
right = 0
while True: ##开始死循环
a = random.randint(0,100) ##a,b为随机数
b = random.randint(0,100)
op = ['+', '-', '*', '/'] ##设表,表内容有加减乘除4种字符串
s = random.choice(op) ##s为表中随机一个字符串
print('%d %s %d = ' %(a,s,b)) ##打印题目
question = input('请输入你的答案:(q退出)')
if s == '+': ##如果随机的符号时‘+’,那么正确的计算结果是result=a+b
result = a + b
elif s == '-':
result = a - b
elif s == '*':
result = a * b
else:
result = a / b
if question == str(result): ##当客户输入与正确结果相同
print('回答正确')
right +=1 ##两个计数器都加1
count +=1
elif question == 'q':
break
else:
print('回答错误')
count +=1 ##否则只有答题数量计数器加1
percent = right / count
print('测试结束,共回答%d道题,正确个数为%d,正确率为%.2f%%' %(count,right,percent * 100))