采取的测试用例和输出所有输入编号的数字,我可以做在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