Python 程序将数字字符串增加 K

pythonserver side programmingprogramming更新于 2023/12/28 20:07:00

Python 中的数字字符串是使用数字、符号和小数点表示数值的字符串,允许进行数学运算和数据处理。

在本文中,我们将学习一个 Python 程序,将数字字符串增加 K。

示例

假设我们已经获取了一个字符串输入列表。现在,我们将使用上述方法将输入列表中的数字字符串增加 k。

输入

inputList = ["10", "hello", "8", "tutorialspoint", "12", "20"]
k = 5

输出

['15', 'hello', '13', 'tutorialspoint', '17', '25']

在上面的列表中,10、8、12 20 是数字字符串。因此,为所有这些数字字符串添加输入的 K 值,即 5,并打印结果字符串。

10+5 = 15

8+5 = 13

12+5= 17

20+5 = 25

因此结果列表为 ['15', 'hello', '13', 'tutorialspoint', '17', '25']

算法(步骤)

以下是执行所需任务所要遵循的算法/步骤

  • 创建一个变量来存储输入字符串列表并打印该列表。

  • 创建另一个变量来存储输入 k值。

  • 初始化一个空列表以存储结果列表。

  • 使用 for 循环遍历输入列表的每个元素。

  • 使用 if 条件 语句通过 isdigit() 函数检查当前元素是否为数字(如果所有字符都是数字,则 isdigit() 方法返回 True;否则,返回 False)

  • 使用 int() 函数将元素转换为整数并将 k 添加到其中,然后使用 str() 函数将其转换为字符串,以便使用 append() 函数将其附加到结果列表中(将元素添加到列表末尾)。

  • 否则,直接将当前元素附加到结果列表中。

  • 打印将输入列表中的数字字符串增加 K 后的结果列表。

示例 1:使用 for 循环和 isdigit() 函数

以下程序在使用 for 循环和 isdigit() 函数将输入列表中的数字字符串增加 K 后返回一个列表 –

# 输入字符串列表
inputList = ["10", "hello", "8", "tutorialspoint", "12", "20"]
# 打印输入列表
print("输入列表: ", inputList)
# 输入 k
k = 5
# 结果列表
resultantList = []
# 遍历输入列表的每个元素
for e in inputList:
    # 检查当前元素是否为数字
    if e.isdigit():
        # 将元素转换为整数,并将 k 添加到其中,然后转换
        # 转换为字符串,将其附加到结果列表中
        resultantList.append(str(int(e) + k))
    else:
        # 否则,直接将该元素附加到结果列表中
        resultantList.append(e)
# 打印结果列表
print("将输入列表中的数字字符串增加 5:\n", resultantList)

输出

执行时,上述程序将生成以下输出

输入列表:['10', 'hello', '8', 'tutorialspoint', '12', '20']
将输入列表中的数字字符串增加 5:
 ['15', 'hello', '13', 'tutorialspoint', '17', '25']

示例 2:使用列表推导和 isdigit() 函数

当您希望根据现有列表的值构建新列表时,列表推导提供了更短/简洁的语法。

以下程序在使用列表推导和 isdigit() 函数将输入列表中的数字字符串增加 K 后返回一个列表

# 输入字符串列表
inputList = ["10", "hello", "8", "tutorialspoint", "12", "20"]
# 打印输入列表
print("输入列表: ", inputList)
# 输入 k
k = 5
# 使用列表推导实现简洁的语法
resultantList = [str(int(e) + k) if e.isdigit() else e for e in inputList]
# 打印结果列表
print("增加将输入列表中的数字字符串增加 5:\n", resultantList)

输出

执行时,上述程序将生成以下输出 –

输入列表:['10', 'hello', '8', 'tutorialspoint', '12', '20']
将输入列表中的数字字符串增加 5:
['15', 'hello', '13', 'tutorialspoint', '17', '25']

方法 3:不使用任何内置函数

以下程序在不使用任何内置函数的情况下,将输入列表中的数字字符串增加 K,然后返回一个列表

# 创建一个接受列表元素的函数参数
# 并检查它是否是数字
def checkNumeric(n):
  	# 将所有数字初始化为字符串
    digitsStr = "0123456789"
    # 存储给定字符串中的数字数量
    count = 0
    # 遍历列表元素的每个字符
    for c in n:
        # 检查当前字符是否在数字字符串中
        if c in digitsStr:
            # incrementing the count value by 1
            count += 1
    # 检查计数是否等于列表元素的长度
    if(count == len(n)):
        # 如果条件为真,则返回 true
        return True
    # returning False 
    return False
# 输入字符串列表
inputList = ["10", "hello", "8", "tutorialspoint", "12", "20"]
# 打印输入列表
print("输入列表: ", inputList)
# 输入 k
k = 5
# 增加数字字符串后存储结果列表
resultantList = []
# 遍历输入列表的每个元素
for e in inputList:
    # 检查当前元素是否为数字
    # 调用 checkNumeric() 函数
    if(checkNumeric(e)):
        # 将元素转换为整数并将 k 添加到其中然后转换
        # 为字符串以将其附加到结果列表中
        resultantList.append(str(int(e)+k))
    else:
        # 否则将该元素直接附加到结果列表中
        resultantList.append(e)
# 打印结果列表
print("将输入列表中的数字字符串增加 5:\n", resultantList)

输出

执行时,上述程序将生成以下输出

输入列表:['10', 'hello', '8', 'tutorialspoint', '12', '20']
将输入列表中的数字字符串增加 5:
['15', 'hello', '13', 'tutorialspoint', '17', '25']

结论

在本文中,我们学习了 3 种不同的方法来按 K 增加数字字符串。我们学习了如何使用 isdigit() 函数来确定字符是否为数字。为了确定给定的字符是否是数字,我们还学习了如何获取可选的可迭代对象并进行检查。


相关文章