Python程序将数字移到字符串的末尾
在本文中,我们将学习一个Python程序,将数字移到字符串的末尾。
使用的方法
以下是完成此任务的各种方法−
- 使用isdigit()和for循环
-
使用isdigit()和join()函数
-
不使用任何内置函数
-
使用isnumeric()函数
-
使用isalpha()函数
例子
假设我们已经输入了一个字符串。现在,我们将使用上述方法将输入字符串中包含的所有数字移动到字符串的末尾。
输入
inputString = 'hello5691 tutorialspoint1342'
输出
放置数字在末尾后的结果字符串:
hello tutorialspoint56911342
这里,输入字符串中包含的所有数字 56911342 移动到字符串的末尾。
第一种方法:使用isdigit()和for循环
算法(步骤)
如下是执行所需任务的算法/步骤−
- 创建一个变量来存储输入字符串。
-
创建一个空字符串来存储结果字符串。
-
创建另一个空字符串来存储所有数字。
-
使用 for循环 遍历输入字符串的每个字符。
-
使用 isdigit() 函数来检查当前字符是否为数字,使用 if条件语句 进行判断。
-
如果条件为真,请将当前字符添加到数字字符串中。
-
否则将该字符添加到上述结果字符串中。
-
使用+运算符(字符串连接)将数字添加到结果字符串的末尾。
-
在将数字添加到字符串末尾后打印结果字符串。
例子
以下程序使用for循环和isdigit()函数返回字符串,并将所有数字添加到输入字符串的末尾−
# 输入字符串
inputString = 'hello5691 tutorialspoint1342'
# 打印输入字符串
print("输入字符串:", inputString)
# 存储结果字符串
resultantString = ''
# 存储所有数字
digits = ''
# 遍历输入字符串的每个字符
for c in inputString:
# 检查当前字符是否为数字
if c.isdigit():
# 如果条件为真,请将该字符添加到数字字符串中。
digits += c
else:
# 否则将该字符添加到上述结果字符串中
resultantString += c
# 在结果字符串的末尾连接/添加数字。
resultantString += digits
# 将数字添加到字符串末尾后打印结果字符串
print("在将数字添加到字符串末尾后的结果字符串:\n", resultantString)
输出
执行上述程序将生成以下输出−
输入字符串:hello5691 tutorialspoint1342
在将数字添加到字符串末尾后的结果字符串:
hello tutorialspoint56911342
第二种方法:使用isdigit()和join()函数
join()函数 − join()是Python中的一个字符串函数,用于连接由字符串分隔符分隔的序列元素,将这些序列元素连接起来以转换为字符串。
例子
以下程序使用isdigit()和join()函数返回字符串,并将所有数字添加到输入字符串的末尾−
# 输入字符串
inputString = 'hello5691 tutorialspoint1342'
# 打印输入字符串
print("输入字符串:", inputString)
# 遍历字符串中的每个字符并获取所有数字
digits = ''.join(c for c in inputString if c.isdigit())
# 获取所有其他字符(非数字字符)
resultantString = ''.join(c for c in inputString if not c.isdigit())
# 将数字连接/添加到结果字符串末尾
resultantString += digits
print("添加数字后的结果字符串:\n", resultantString)
输出
输入字符串:hello5691 tutorialspoint1342
添加数字后的结果字符串:
hello tutorialspoint56911342
方法3:不使用任何内置函数。
示例
以下程序返回一个字符串,其中添加了输入字符串中的所有数字,而不使用任何内置函数-
# 输入字符串
inputString = 'hello5691 tutorialspoint1342'
# 打印输入字符串
print("输入字符串:", inputString)
# 存储所有数字
digits_str = "0123456789"
# 存储除数字以外的所有字符
resultantString = ''
# 存储输入字符串中的所有数字
resultDigits = ''
# 遍历字符串的每个字符
for c in inputString:
# 检查当前字符是否在上述数字字符串中
if c in digits_str:
# 将该字符添加到resultDigits字符串中
resultDigits += c
else:
# 否则将该字符添加到结果字符串中
resultantString += c
# 将数字连接/添加到结果字符串末尾
resultantString += resultDigits
print("添加数字后的结果字符串:\n", resultantString)
输出
输入字符串:hello5691 tutorialspoint1342
添加数字后的结果字符串:
hello tutorialspoint56911342
方法4:使用isnumeric()函数
isnumeric()函数 −返回 True 如果字符串中的所有字符都是数值(0-9),则返回, 否则返回 False 。
示例
以下程序使用isnumeric()函数在输入字符串的末尾添加所有数字后返回一个字符串 –
# input string
inputString = 'hello5691 tutorialspoint1342'
# printing the input string
print("输入字符串:", inputString)
# storing all characters except digits
resultantString = ''
# storing all digits
digits = ''
# traversing through each character of an input string
for c in inputString:
# checking whether the current character is a digit
if c.isnumeric():
# adding that digit to the above digits string
digits += c
else:
# else adding that character to the resultantString
resultantString += c
# concatenating/adding digits at the end of the resultant string
resultantString += digits
print("添加数字后的结果字符串:\n", resultantString)
输出
输入字符串:hello5691 tutorialspoint1342
添加数字后的结果字符串:
hello tutorialspoint56911342
方法5:使用isalpha()函数
isalpha()函数 −返回 True 如果所有字符都是字母(a-z),否则返回 False 。
示例
以下程序使用isalpha()函数在输入字符串的末尾添加所有数字后返回一个字符串 –
# 输入字符串
inputString = 'hello5691 tutorialspoint1342'
# 打印输入字符串
print("输入字符串:", inputString)
# 存储除数字外的所有字符
resultantString = ''
# 存储所有数字
digits = ''
# 遍历字符串中的每个字符
for c in inputString:
if(c != ' '):
# 检查当前字符是否为字母
if c.isalpha():
# 将该字符添加到resultantString中
resultantString += c
else:
# 否则将该数字添加到digits中
digits += c
# 将digits连接/添加到resultantString的末尾
resultantString += digits
print("在末尾添加数字后的结果字符串:\n", resultantString)
输出
输入字符串:hello5691 tutorialspoint1342
在末尾添加数字后的结果字符串:
hello tutorialspoint56911342
结论
在本文中,我们涵盖了5种将数字移动到字符串末尾的不同方法。我们还实现了同样的程序,但没有使用内置函数。