⑴ python3中,定义一个函数,遍历字符串,使用print后调用函数会有None,换成return结果又不对
第一个图中,在执行 print(bianli__str('sjsjsj'))这句时,首先执行print括号中的内容,即进入bianli__str函数,执行了函数中的print语句,打印的内容是字符串的每一个字符,然后退出函数,执行print这个操作,print的内容是你定义的函数,这个函数本身是没有值的,所以是None
解决的方法就是调用函数的时候不用再print了,如下图:
第二个图中结果不对是因为return就会退出函数,所以打完第一个字符后就退出了
⑵ python中,怎么控制for 循环遍历 字符串的步长
最简单的方法应该就是字符串的截取substring;
还可以tochararray()将其放入数组中,然后利用数组按要求赋给另一个数组;
⑶ python 如何将一段字符串用二叉树的后序遍历打印出来
# -*- coding:utf-8 -*-def fromFMtoL( mid ): global las #全局后序遍历 global fir #先序遍历 root = fir[0] #取出当前树根 fir = fir[1:] #取出树根后 先序遍历把根拿出来 下面一个元素做树根 root_po = mid.find( root ) #在中序遍历当中树根的位置 left = mid[0:root_po] #左子树 right = mid[root_po+1:len(mid)] #右子树 ''' 后序遍历: 左 右 根 先左子树 再右子树 最后跟 ''' #有左子树的时候 if len(left) > 0: fromFMtoL( left ) #有右子树的时候 if len(right) > 0: fromFMtoL( right ) #树根写进结果 las += rootif __name__ == "__main__" : # fir = input("请输入先序遍历:") #前序遍历的结果 # mid = input("请输入中序遍历:") #中序遍历的结果 fir = "DBACEGF" mid = "ABCDEFG" # fir = "ABC" # mid = "BAC" las = "" fromFMtoL( mid ) print(las)
⑷ python读取一个仅包含数字和字母的文件,遍历文件中的字符串,见到a
文件不大的话,直接使用read()读取文件,利用字符串函数count()统计字符出现的次数:
⑸ Python的中文字符串遍历问题
首先一个,你这个'a'是什么编码?可能不是你所想的gbk
>>>
a='测试'
>>>
a
这样试试看,如果出来是6个字(word),说明是utf-8,如果是4个字,说明是gbk。
另外,不管是utf-8还是gbk,都不能这样遍历,因为这里它会
一个字
一个字拿出来。
虚拟机
把a当成一个
长度
为len(a)的
字符串
了。
接下来是遍历问题。
linux的shell大都默认是utf-8,所以一个
中文
字符是
三个字
,所以要三个三个地读,你可以试下:
>>>
a[:3]
出来就是个测字
windows的command的默认是cp936,也就是gbk,一个中文字符是
两个字
,所以两个字两个字地读。
还有另一种遍历的方法,把字符串转换成unicode,这样中文
英文
都是一个字,就可以用你的for
i
in
a的方法遍历了。这个的好处是中文英文字符都是一个字,而utf-8和gbk里,
英文字母
只占一个字。
⑹ python遍历字符串时是逐字遍历,遍历txt文本时是逐行读取,这是为什么
for循环遍历,实际上是返回一个迭代器,并不断调用其next()方法的过程。next()返回什么,取决于迭代器的具体实现,对于str类型来说,就返回下一个字符串;对于file类型来说,就返回下一行。
⑺ Python用for和什么保留字可以组成循环遍历字符串中的每个字符
用for和in可以组成循环遍历字符串中的每个字符,如:
for c in "this一个char串":
##对每个字符c进行操作的语句
⑻ python 用os.walk()遍历目录时,中文文件名显示为乱码
#coding=gb18030
import os,sys
def processunicode(value): #定义一个处理unicode类型字符串的函数
v1=''
for a in value:
if type(a)=='unicode':
v1=v1+str(a.encoe('gb18030'))
else:
v1=v1+str(a)
return v1
print processunicode(export) #把要打印的参数传给该函数,并打印出来
⑼ python编程,通过键盘输入一个字符串,遍历该字符串中的每一个字符
string = input("请输入:")
for i in string:
print(i)
⑽ 在python中如何遍历字符串进行首位交换
直接使用字符串切片就可以实现:
s = "Thereisastringword"
# 最后一位 + 去头去尾的部分 + 首字符
s1 = s[-1] + "".join(s[1:-1]) + s[0]
print(s1)
用循环也需要等循环结束了再拼接一次字符串
s = "Thereisastringword"
s1 = ""
for i in range(len(s)):
if i == 0:
lastword = s[i]
elif i == len(s) -1 :
fristword = s[i]
else:
s1 += s[i]
print(fristword + s1 + lastword)