2017-10-10 140 views
-4

有人可以帮我解决这个TypeError吗?我试图用数字N来提高5和打印的最后2位数字TypeError:**或pow():'int'和'list'不支持的操作数类型

 from sys import stdin, stdout 
    n = [int(x) for x in stdin.readline().rstrip().split()] 
    l = 5**n 
    res = str(l) 
    stdout.write(res(2)+res(1)) 
+0

如果你正在试图做到这一点,为什么你使用split()和列表? – MatBailie

+1

看看错误。它说什么?现在看看'5 ** n'。 'n'是一个列表。您不能使用列表作为指数。你需要问自己你想做什么。你是否想要'[5 ** v for v in n]'?或者'5 ** n [0]'?或者也许别的东西? –

回答

1

我相信这是你正在尝试做的:

#!/usr/bin/env python3.6 
from sys import stdin, stdout 


numbers = [int(x) for x in stdin.readline().rstrip().split()] 
res = [5**x for x in numbers] 
stdout.write(str(res[1] + res[0])) 

这从stdin获取输入,并将其分成列表ints。然后它创建一个新的列表,其中包含5个由x组成的列表,其中x是旧列表中的每个值。最后,我们将第一个和第二个索引的值加在一起写入stdout。请注意,如果少于2个数字输入,这将引发错误。

相关问题