如何编写接受列表和数字 X 的函数。如果 X 存在于索引“m”的列表中,它应该 return 来自索引“m”的列表元素的总和
How to write function that take a list and number X .If X exist in list in index ‘m’, it should return sum of elements of list from index ‘m’
def func(x):
lst=list(map(int,input("Enter a list of numbers: ").split()))
flag=0
num=0
for i in lst:
if x==i:
flag=1
if flag==1:
ab=lst.index(x)
for i in range(ab,len(lst),1):
num=lst.index(ab)
num=num+lst[i]
print(num)
return num
y=input("Enter a number present in the list: ")
print(func(y))
以上是从索引 m 中查找所有数字和求和的函数。它从用户那里获取一个数字,获取索引并打印索引 m 中数字的总和。但是在这种情况下代码输出是0
尝试:
def func(y, lst):
try:
return sum(lst[lst.index(y):])
except ValueError:
print(f"{y} is not in {lst}")
lst = list(map(int,input("Enter a list of numbers: ").split()))
y = int(input("Enter a number present in the list: "))
total = func(y, lst)
print(total)
输出:
Enter a list of numbers: 10 20 30 40 50 60
Enter a number present in the list: 30
180
首先,你可以使用带空参数的split()
。
您的问题的解决方案是:
def func(x):
a=input("Enter list of Numbers: ")
lst=list()
for i in a:
try:
i=int(i)
lst.append(i)
except:
pass
num=0
x=int(x)
for i in (lst):
if x==i:
index=lst.index(x)
for i in range(index,len(lst),1):
num=num+lst[i]
return num
y=input("Enter a number present in the list: ")
print(func(y))
而不是 map
我使用 for loop
将字符串转换为整数列表。
然后如果 x==i
我在列表中搜索 x 的索引,然后从索引开始使用 for loop
.
再次对数字求和
def func(x):
lst=list(map(int,input("Enter a list of numbers: ").split()))
flag=0
num=0
for i in lst:
if x==i:
flag=1
if flag==1:
ab=lst.index(x)
for i in range(ab,len(lst),1):
num=lst.index(ab)
num=num+lst[i]
print(num)
return num
y=input("Enter a number present in the list: ")
print(func(y))
以上是从索引 m 中查找所有数字和求和的函数。它从用户那里获取一个数字,获取索引并打印索引 m 中数字的总和。但是在这种情况下代码输出是0
尝试:
def func(y, lst):
try:
return sum(lst[lst.index(y):])
except ValueError:
print(f"{y} is not in {lst}")
lst = list(map(int,input("Enter a list of numbers: ").split()))
y = int(input("Enter a number present in the list: "))
total = func(y, lst)
print(total)
输出:
Enter a list of numbers: 10 20 30 40 50 60
Enter a number present in the list: 30
180
首先,你可以使用带空参数的split()
。
您的问题的解决方案是:
def func(x):
a=input("Enter list of Numbers: ")
lst=list()
for i in a:
try:
i=int(i)
lst.append(i)
except:
pass
num=0
x=int(x)
for i in (lst):
if x==i:
index=lst.index(x)
for i in range(index,len(lst),1):
num=num+lst[i]
return num
y=input("Enter a number present in the list: ")
print(func(y))
而不是 map
我使用 for loop
将字符串转换为整数列表。
然后如果 x==i
我在列表中搜索 x 的索引,然后从索引开始使用 for loop
.