我们可以适用replace(m,n)方法来实现去掉字符串中的所以的空格
下面是代码实现
// 将字符串中所有的空格删除
s=' This is a demo '
print(s.replace(' ',''))
首先要获取汉字的话我们要了解Unicode里的字符编码,
\u0020 空格
\u0040 ~ \u005A 大写字母A~Z
\u0061 ~ \u007A 小写字母a~z
\u4E00 ~ \u9FFF 中文字符
\u0030 ~ \u0039 数字
了解了这些字符编码后我们就可以用isalpha()函数来判断字符串中的汉字个数了。
下面是代码实现
ch=0;
string = input()
for x in string:
if x <='\u9fff' and x>='u4e00':
ch+=1
print(ch)
将字母转换大小写我们可以用swapcase()函数来实现
下面是代码实现
str = "This Is String Example....Wow!!!"
print (str.swapcase())
根据标点符号分割我们可以用split()函数
split() 默认是以空格进行分割,如果在其中添加 逗号,如: split(’,’) 则是以逗号进行分割
下面是代码实现
str1='a,b,c,d'
list1=str1.split(',')
//因为split()分割出来的是一个list类型,
//所以用一个list来装
for each in list1:
print(each)
代码如下
ls=[" hh 12 "," 卧底 是谁 " ,"A you ok"]
ls1=[]
for i in range(0,len(ls)):
ls1.append(ls[i].replace(" ",""))
print(ls1)
代码实现
str=input()
print(len(str))
代码如下
s="2021/03/28"
a=s.split('/')
a[0]=a[0]+"年"
a[1]=a[1]+"月"
a[2]=a[2]+"日"
'-'.join([a[0],a[1],a[2]])
例如:acdefb - abcdef-fedcba
由于python里没有字符数组这个概念,但我们可以用列表来存储我们的字符串并用列表里的sort函数来实现排序。
代码如下
s="acdefb"
ll=list(s)//将字符串存入列表中
ll.sort()
ll.sort(reverse=True)
//缺省为升序排序,通过reverse = True参数实现降序排列,
l2=''.join(ll)
//把列表中的元素放在空串中
print(l2)
例如:hello c sharp — sharp c hello
代码如下
str=input()
s=str.split()//以空格来分开字符串
s.sort(reverse=True)//缺省为升序排序,通过reverse = True参数实现降序排列,
l2=' '.join(s)//把列表中的元素放在空串中,元素间用空格隔开
print(l2)
这题可以先建立一个空列表,然后再遍历字符串
如果找到"呵"就给空列表添加i的值。
代码如下
s = input("请输入一段话!")
ls = []
for i in range(0,len(s)):
if s[i] == "呵":
ls.append(i)
print("呵的位置是:{}".format(ls))
代码如下
ls = ["我的世界冲冲冲啊冲啊啊","遥远的老天爷","红尘往市不在回首嘿嘿黑","活着","白鹿原之青青草原112"] //10个书名太多了,我只存了几个
for i in range(0,len(ls)):
s=ls[i]
if(len(s)>10):
s=s[0:9]
ls=[i]=s
print(ls)
这题直接在第十题的基础上加一个判断条件就好了
代码如下
s = input("请输入一段话!")
ls = []
for i in range(0,len(s)-1):
if s[i] == "呵"and s[i+1] =="呵":
ls.append(i)
print("呵的位置是:{}".format(ls))
运行结果如下
代码如下
s = input("请输入字符串A:")
s1 = input("请输入需要判断的字符串B:")
flag = True
if s.find(s1) != -1:
flag = False
if flag:
print("字符串B {}不在A {}内".format(s1,s))
else:
print("字符串B {}在A {}内".format(s1,s))
这题在上一题的基础上加一个循环判断每一个元素就好了
代码如下
s = input("请输入字符串A:")
s1 = input("请输入需要判断的字符串B:")
flag = True
for i in range(0,len(s1)):
if s.find(s1[i]) == -1:
flag = False
if flag:
print("字符串B{}的所有元素在A{}内".format(s1,s))
else:
print("字符串B{}不是所有元素都在A{}内".format(s1,s))
代码如下
import string
import random
s = string.ascii_letters
//前为生成字母,后为生成数字
s1 = ""
for i in range(1,20):
s1 += random.choice(s)
print(s1)
代码如下
import string
import random
s = string.ascii_letters + string.digits
//前为生成字母,后为生成数字
s1 = ""
for i in range(1,20):
s1 += random.choice(s)
print(s1)
代码如下
import string
s = input("输入需要判断的字符串:")
if (s.isalnum()and not s.isalpha()) and not s.isdigit():
print("字符串{}里包含数字和字母".format(s))
else:
print("字符串{}里并不是既包含字母又包含数字".format(s))
在Python中,数值(整型,浮点型),布尔型,字符串,元组属于值类型,本身不允许被修改(不可变类型),数值的修改实际上是让变量指向了一个新的对象(新创建的对象),所以不会发生共享内存问题。 这种方式同Java的不可变对象(String)实现方式相同。
a = 1
b = a
a = 2
print(b) //输出的结果是1 修改值类型的值,只是让它指向一个新的内存地址,并不会改变变量b的值。
这题我们可以利用pyhton中的切片操作来判断
代码如下
n=input()
m=n[::-1]//将n倒序
if(n==m):
print("yes")
else:
print("no")
代码如下
L = ["Adam", "Lisa", "Bart", "Paul"]
n=L[0:3]
print(n)
[1, 2, 3, …, 100]
请利用切片,取出:
for i in range(1,101)[0:10]:
//前10个数
print(i)
for i in range(1,101)[2::3]:
//3的倍数
print(i)
for i in range(1,101)[4:50:5]:
//不大于50的5的倍数
print(i)
代码如下
for i in range(1,101)[-10:]:
//最后10个数
print(i,end=" ")
for i in range(1,101)[4::5][-10:]:
//最后10个5的倍数
print(i,end=" ")
代码如下
def firstCharUpper(s):
y=s.lower()
y=y[0:1].upper()+y[1:]
return y
print firstCharUpper(('hello'))
print firstCharUpper(('sunday'))
print firstCharUpper(('september'))
代码如下
def Trim(s):
while s[:1]==' ':
s=s[1:]
while s[-1:]==' ':
s=s[:-1]
return s
x=" hello "
print(Trim(x))
运行结果如下
代码如下
a=input("请输入您的身份证号:")
year=a[6:10]
month=a[10:12]
day=a[12:14]
sex=a[16:17]
sex=int(sex)
if sex % 2:
sex='男'
else:
sex='女'
print("您是%s年%s月%s日出生的%s孩."%(year,month,day,sex))
运行结果如下