2017-10-10 149 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個數字輸入,這將引發錯誤。

相關問題