採取的測試用例和輸出所有輸入編號的數字,我可以做在Python 2.5EXEC在Python 3
exec"print input();"*input()
如何做到這一點在Python 3以下,在最短的方法是什麼?
採取的測試用例和輸出所有輸入編號的數字,我可以做在Python 2.5EXEC在Python 3
exec"print input();"*input()
如何做到這一點在Python 3以下,在最短的方法是什麼?
混淆的代碼在Python 3工作得很好過,一旦你已經適應了變化,這可以平凡通過2to3的運行代碼來完成。
exec("print(input());"*eval(input()))
顯然(儘管EVAL應該在這種情況下,可以用int()函數因爲這是你想要的東西代替。) ,這是所有ridicolous,你爲什麼要使用字符串,而不是循環的exec和乘法?
for ignored in range(int(input())):
print(input())
你也可以用列表表達做到這一點:
[print(input()) for _ in range(int(input()))]
雖然大多數人會說(我同意),使用列表中的表達式爲它的副作用或循環一般是不好的形式。列表表達式應該用來創建列表。
這是一塊清晰,自我記錄代碼,不會是相同的:
num_integers = int(input('How many integers do you want to input? '))
for x in range(num_integers):
print(input('Integer {}: '.format(x)))
exec
與print
一樣,是Python 3中的一個函數調用。將該字符串包裝在圓括號中。
我知道這一點。我需要關於'* input()'部分的幫助。 – fR0DDY 2011-03-08 17:26:29
有沒有理由不能使用循環?
for _ in xrange(input()):
print input()
下投票你爲什麼需要Exec的? – 2011-03-08 20:20:00
-1「儘可能最短的路線」是代碼高爾夫,並且是錯誤的,除非你有特定的和非常好的理由。它應該是*最清晰的*可能的方式。 – 2011-09-28 09:43:46