input_string = input("Enter a list element separated by space ")
numbers = [int(num) for num in input_string.split(',') if int(num) % 3 == 0]
print('Sum = {}'.format(sum(numbers)))
这是基于你上面的问题。你知道吗
但是,您也说过您希望用户输入7个数字,然后找到可被3整除的数字的和。你知道吗
下面是另一个简单的例子,我们要求用户输入7个数字,一次输入一个数字,最后打印总和。你知道吗
all_numbers = []
for i in range(7):
num = int(input(f'Enter number {i + 1}:\n1'))
all_numbers.append(num)
sum_of_numbers = sum([num for num in all_numbers if num % 3 == 0])
print(f'Sum = {sum_of_numbers}')
numbers = [] # We create an empty list
while len(numbers) != 7:
input_string = input("Enter a list element separated by space ")
my_list = input_string.split()
numbers = list(map(int, my_list)) # Get the numbers
这里是使用列表理解
这是基于你上面的问题。你知道吗
但是,您也说过您希望用户输入7个数字,然后找到可被3整除的数字的和。你知道吗
下面是另一个简单的例子,我们要求用户输入7个数字,一次输入一个数字,最后打印总和。你知道吗
您可以使用^{} 函数从输入中获取整数列表,该函数从字符串中提供整数对象,因为split函数只提供分离字符串的列表。你知道吗
但是,如果}-^{}statement 捕获它。你知道吗
n
不是有效的数字(例如"a"
),这将抛出ValueError,您可以用^{注意我是如何将变量的名称更改为
my_list
,因为名称list
在Python中已经有了含义,最好不要将它赋给变量。你知道吗如果要在一个步骤中完成,可以使用有用的
map
函数将int
函数应用于list
中的所有元素。您可以查看此函数的文档,以及python documentation上的任何其他函数,或者使用help
内置函数。(例如help(map)
)然后,您可以使用^{} 函数检查列表中是否有7个数字,如果没有7个数字,您可以提示用户再次输入数字(如果您希望这样做)。你知道吗
如果要一直提示用户直到列表中有七个数字,可以将提示放在
while
块中,如图所示:在得到这些数字之后,您可以通过使用modulo操作符来查看哪些数字可以被3整除,这将为您提供将一个数字除以另一个数字(在您的示例中是3)的其余部分。一些例子:
因为您想检查列表中哪些数字可以被3整除,所以您可以检查这个模块是否在列表的循环中是0。你知道吗
如果数字可以被3整除,可以将它们添加到计数变量中,可以在循环之前初始化为0。这样,在循环之后,就可以得到这个变量的和。你知道吗
另一种更优雅的方法是使用list comprehension而不是循环,循环只保留可被3整除的数字,然后使用^{} 函数对其元素求和。你知道吗
相关问题 更多 >
编程相关推荐