Python如何输入多个整数
在编写Python程序时,我们经常需要用户从键盘输入多个整数。本文将介绍几种常见的方法来实现这一功能,并附带代码示例。
方法一:使用split和map函数
我们可以使用split函数将一行输入的多个整数分隔开,并使用map函数将这些分隔开的字符串转换为整数。
# 输入多个整数
numbers = input("请输入多个整数,用空格分隔:")
# 分隔字符串并转换为整数
numbers = list(map(int, numbers.split()))
# 打印输入的整数列表
print(numbers)
上述代码首先使用input函数接收用户的输入,并将其赋值给变量numbers。然后,我们使用split函数将字符串按照空格进行分隔,并将分隔后的字符串列表传递给map函数。map函数会将列表中的每个字符串转换成整数,并返回一个包含转换后整数的迭代器。最后,我们使用list函数将迭代器转换为列表,并将其赋值给变量numbers。最后一行代码用于打印输入的整数列表。
方法二:使用列表推导式
除了使用split和map函数,我们还可以使用列表推导式来实现输入多个整数的功能。
# 输入多个整数
numbers = input("请输入多个整数,用空格分隔:")
# 使用列表推导式将字符串转换为整数列表
numbers = [int(x) for x in numbers.split()]
# 打印输入的整数列表
print(numbers)
上述代码中,我们首先使用input函数接收用户的输入,并将其赋值给变量numbers。然后,我们使用split函数将字符串按照空格进行分隔,并使用列表推导式将分隔后的字符串列表转换为整数列表。最后一行代码用于打印输入的整数列表。
方法三:使用循环逐个输入
除了一次性输入多个整数,我们还可以使用循环逐个输入多个整数。
# 输入整数个数
count = int(input("请输入整数个数:"))
# 输入多个整数
numbers = []
for i in range(count):
number = int(input("请输入第{}个整数:".format(i+1)))
numbers.append(number)
# 打印输入的整数列表
print(numbers)
上述代码首先使用input函数接收用户输入的整数个数,并将其转换为整数,赋值给变量count。然后,我们使用for循环逐个接收用户输入的整数,并将其添加到列表numbers中。最后一行代码用于打印输入的整数列表。
类图
下面是一个简单的类图,展示了上述代码中涉及的三个类及其关系。
classDiagram
class InputMethod {
+input(): str
}
class SplitMapMethod {
+split_input(input_str: str) -> List[int]
}
class LoopInputMethod {
+loop_input(count: int) -> List[int]
}
InputMethod <|-- SplitMapMethod
InputMethod <|-- LoopInputMethod
在类图中,我们定义了一个InputMethod类,它作为输入方法的基类,包含一个input方法来接收用户输入。SplitMapMethod和LoopInputMethod类分别继承自InputMethod类,并实现了不同的输入方法。
项目方案
基于上述讨论的输入多个整数的方法,我们可以提出一个项目方案:实现一个简单的整数列表计算器。
该计算器要求用户输入一个整数列表,并提供一些常见的计算功能,如求和、平均值、最大值和最小值等。
以下是一个简化的代码示例,用于实现这个整数列表计算器的核心功能:
class IntegerListCalculator:
def __init__(self, numbers):
self.numbers = numbers
def get_sum(self):
return sum(self.numbers)
def get_average(self):
return sum(self.numbers) / len(self.numbers)
def get_max(self):
return max(self.numbers)
def get_min(self):
return min(self.numbers)
# 输入多个整数
numbers = input("请输入多个整数,用空格分隔:")
numbers = list(map(int, numbers.split()))
# 创建整数列表