请解释PYTHON 3.X中的以下代码?

请解释PYTHON 3.X中的以下代码?,python,python-3.x,Python,Python 3.x,我是Python初学者,无法理解下面的代码。请有人解释一下执行流程 问题是输入一个数字'N'并计算N+NN+NNN a = int(input("Input an integer : ")) n1 = int( "%s" % a ) n2 = int( "%s%s" % (a,a) ) n3 = int( "%s%s%s" % (a,a,a) ) print (n1+n2+n3) 它只是完成问题的任务-输入一个数字'N'并计算'N+NN+NNN 因此,第一行将输入的数字存

我是Python初学者,无法理解下面的代码。请有人解释一下执行流程

问题是输入一个数字'N'并计算N+NN+NNN

  a = int(input("Input an integer : ")) 
  n1 = int( "%s" % a )
  n2 = int( "%s%s" % (a,a) )
  n3 = int( "%s%s%s" % (a,a,a) )
  print (n1+n2+n3)

它只是完成问题的任务-输入一个数字'N'并计算'N+NN+NNN
因此,第一行将输入的数字存储在变量“a”中。
然后在下一行中,它将a的值作为整数传递给n1。
在下一行中(问题需要输入数字N的NN),它只使用%s标记将其作为字符串插入,因此a现在变成aa,然后使用int()方法将其转换为整数。第3行也是如此。

然后打印行只打印n1、n2和n3三个值的总和。

您的代码执行以下操作

a = int(input("Input an integer : ")) 
  n1 = int( "%s" % a )
  n2 = int( "%s%s" % (a,a) )
  n3 = int( "%s%s%s" % (a,a,a) )
  print (n1+n2+n3)
第1行-显示“输入整数:”并将输入存储在变量a中。
第2行-n1存储变量a的值。
第3行-n2将变量“aa”的值存储为整数。
第4行-n3将变量“aaa”的值存储为整数。
第5行-将n1、n2、n3中的值相加并打印

此处%s是格式字符串,它被%sign后面的值替换。有关详细信息,请访问

您可以通过多种方法实现同样的效果,以下是另一种尝试:

a = input("Input an integer : ") # gets any input but if you need validation you can try it using while loop and if condition or try block
aa = a+a # in python when two string are concatnated i.e. "71"+"71" result will be like "7171"
aaa = a+a+a # concatnated three string
print(int(a)+int(aa)+int(aaa)) # Note: if input won't be a number this will throw ValueError

您可以在

的官方文档中了解更多信息。您所展示的代码是一种非常笨拙的数字求和方法,由数字的1到3位数字组成

为了好玩,将生成器输入到
sum
,并使用字符串乘法生成由相同数字/数字组成的字符串1到3次:

a = input("Input an integer : ")  # python 2 would need raw_input or the result would be incorrect
print (sum(int(a*i) for i in range(1,4)))

这就是这段代码的作用。
a = input("Input an integer : ")  # python 2 would need raw_input or the result would be incorrect
print (sum(int(a*i) for i in range(1,4)))