欢迎访问琢舟百科

如何输入字符串 如何输入字符串数组c语言

频道:星座百科 日期: 浏览:1226

吴老的《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 坐标法

如何输入字符串 如何输入字符串数组c语言

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:

如何输入字符串 如何输入字符串数组c语言

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

与本文知识相关的文章:

星座占卜网:星座情缘6:与处女座最来电的星座?

【十二星座爱情观图片】十二星座爱情表现的图

【水瓶座男生头像】水瓶座男生头像动漫冷酷帅气

【新版星座】星座最新版

【双子座男生喜欢一个人的表现准到爆】双子座男爱一个人的表现

关键词:如何输入字符串