如何输入字符串 如何输入字符串数组c语言
吴老的《selenium webdriver 实战宝典》出版了!
一. 学习内容
* 字符串运算
* 字符串函数strip()
二.字符串运算1. + 加,拼接
a='a'
b='b'
print a+b
2. * 重复输出字符串
print '*'*20
展开全文
3. []- 通过索引输出字符串
a='dsafdsaf'
a[3]
4. 小练习一- 将字符串转成数组
#encode=utf-8
#method1
def print_str(s):
lists=[]
for i in s:
lists.append(i)
return lists
s='gloryroad'
print print_str(s)
#method2 坐标法
def print_str(s):
lists=[]
for i in range(len(s)):
lists.append(s[i])
return lists
s='gloryroad'
print print_str(s)
#method3
s='gloryroad'
print list(s)
运行结果:
其他的方法:
s='gloryroad'
print [x for x in s]
print [s[i] for i in range(len(s))]
print list(s)
运行结果:
5. 小练习二- 将字符串输出奇数坐标
#encode=utf-8
#method1
def print_str(s):
for i in range(1,len(s),2):
print s[i]
s='gloryroad'
print_str(s)
#method2
for i in range(len(s)):
if i%2!=0:
print s[i]
s='gloryroad'
print_str(s)
#method3
a = 'gloryroad'
[a[x] for x in xrange(len(a)) if x%2==1]
运行结果:
6. 小练习三- 将字符串偶数位输出大写变小写,小写变大写
法一:用swapcase()函数
s='adbABC'
s.swapcase()
法二:存入list然后join输出
#encode=utf-8
s='bdsABC'
lists=[]
for i in range(0,len(s),2):
if 97<=ord(s[i])<=122:
lists.append(chr(ord(s[i])-32))
else:
lists.append(chr(ord(s[i])+32))
print ''.join(lists)
法三:封装成自定义函数
#encode=utf-8
def swap_even_index_letter(str):
str="gloryroad"
str=list(str)
for i in range(0,len(str),2):
if ord(str[i])>97 and ord(str[i])<122:
str[i]=chr(ord(str[i])-32)
elif ord(str[i])>65 and ord(str[i])<90:
str[i]=chr(ord(str[i])+32)
return "".join(str)
print swap_even_index_letter("gloryroad")
运行结果:
7. 小练习四- 将字符串abcdef 将c 改成f
法一:用数组方式
s='abcdef'
lists=[]
for i in s:
if i=='c':
i='f'
lists.append(i)
print ‘’.join(lists)
运行结果为:
法二:用字符串拼接方式
a="abcdf"
str1=""
for i in a:
if i == "c":
str1 += "f"
else:
str1 += i
print str1
运行结果:
注意:
如果法二的用字符串拼接方式,如果字符串中有多个c就会全部都替换了,我现在希望只替换一次,怎么做?
解法一:
s1='abcdefgccc'
s2=''
c=0
for i in s1:
if i=='c' and c==0:
s2+='f'
c=1
else:
s2+=i
print s2
运行结果:
法二:
s1='abcdefgccc'
s2=''
flag=True
for i in s1:
if i=='c' and flag:
s2+='f'
flag=False
else:
s2+=i
print s2
运行结果:
8. 小练习五- 输出1000 以内所有包含3 的数字
法一:
print [x for x in range(1001) if '3' instr(x)]
运行结果:
法二:
for i in range(1001):
if '3' in str(i):
print i,
运行结果:
9. [:]- 截取字符串
s='dsafldsal'
s[::-1]
s[2:5:2]
s[-3:-6:-1]
s='abcdefghijk'
s[::2] #偶数
s[1::2] #奇数
s[::-1] #逆序输出
s[:] #全部输出
s[::3] #步长为3
s[-1:-6:-1] #取倒数第一个到第5个
10. in 、not in- 成员运算符包括、不包括
'a' in 'dsalla'
'c' in 'dlsaa'
'c' not in 'dsalla'
11. r/R – 原始字符串
print r''
print R''
12. % – 格式化字符串
%s为字符串
%d为数字
%c为char,只能为一个字符
%f为float,为浮点型
print 'i am %s' % 'yml'
print 'i am %s,my age is %d' % ('yml',25)
print 'i have %.2f apple'% 7.9 #保留两位小数
print 'it is %c' % '0'
print 'i have %x apple' % 16
print 'i have %o apple' % 16
print 'i have %c apple' % '1' #%c格式化字符及其ASCII码
print 'i have %5s apple' % 45 #%s格式化字符串
print 'i have %2d apple' % 3 #%d格式化整数
print 'i have %u apple' % 3 #%u格式化无符号整型
print 'i have %o apple' % 15 #%o格式化无符号八进制数
print 'i have %x apple' % 15 #%x格式化无符号十六进制数
print 'i have %.2f apple' % 15 #%f格式化浮点数,可指定小数点后的位数默认6位
print 'i have %e apple' % 15 #%e用科学技术法格式化浮点数
print 'i have %E apple' % 15 #%E用科学技术法格式化浮点数
print 'i have %g apple' % 15 #%f和%e的简写
三.字符串函数strip()1. strip() 函数- 去掉首尾不可见字符
将前后包含的空格和不可见字符去掉
可以看到不仅去掉了空格还去掉了tab、r、n、t等不可见字符
data=raw_input('请输入一个字符串:')
data
print data
print data.strip()
输入:ntr fdadastn,输出的效果就是去不掉nt等不可见字符
后来发现,raw_input输入进来的nt等不可见字符存在内存中会自动加上来避免转义,我之前用print所以看不见那个多出来的
这点需要注意。
2. lstrip() 函数- 去掉字符串左侧不可见字符
'na br'.lstrip()
3. rstrip() 函数- 去掉字符串右侧不可见字符
'na br'.rstrip()
4. strip(‘’) 函数- 去掉字符串首尾中指定字符
'*badsafd5'.strip('*')
安装喜马拉雅app,搜索“光荣之路”可以收听吴老和他的朋友们分享的35小时测试知识语音
光荣之路
软件测试培训
官网:www.gloryroad.cn
微信公众号:gloryroadtrain
性能测试QQ群:415987441
测试招聘QQ群: 203715128
Java2群:569534627
Python群:457561756
咨询V信:mengqiao626
咨询QQ:53617154
与本文知识相关的文章: