编写一个接受整数(n)的Python程序,并计算n + nn的值

时间:2017-09-20 02:55:40

标签: python

n = int(input("Input an integer: "))

n1 = int("%s" % n)
n2 = int("%s%s" % (n,n))
print(n1+n2)

在这个程序中,为什么n2需要两个字符串?如果我们把5作为我们的n,%(n,n)给出55的结果和总共60的结果如何?我只是没有得到%这么多的想法。

5 个答案:

答案 0 :(得分:0)

n = int(input("Input and integer: ")
print(n*n+n)

您不希望将整数转换为字符串,因为来回转换它们很不方便。将它们保持为整数。

答案 1 :(得分:0)

在这段代码中,我们必须在n2中写入%s两次,因为我们计算nn所以基本上如果n = 5则nn = 55,因此你得到60的总和

答案 2 :(得分:0)

%s是一个python字符串格式化运算符。您可以从official documentation了解有关它的更多信息。它从右侧获取一个变量并连接到给定位置的字符串。 IE:'My age is %s, nice to meet you' % (20)会将'My age is 20, nice to meet you'作为字符串给您。您可以使用多个字符串格式化运算符来进行更复杂的格式化。

您粘贴的代码会获得用户的输入,使用以下行转换为整数:

n = int(input("Input an integer: "))

为简单起见,我们假设用户输入5。下一行将其格式化为字符串(出于某些不必要的原因)并再次将其转换为整数。所以n1是整数5。

n1 = int("%s" % n) # same as int(str(5))

下一行将两个5&#s格式化为一个字符串,结果为55,并将其转换为整数。

n2 = int("%s%s" % (n,n)) # similar to int('55')

所以现在我们有两个整数n1和n2分别为5和55.所以总结它们会得到结果60

print(n1+n2) # print(55+5) which is 60

为了将来参考,format() method更新,因此更为优先。你粘贴的代码可以用更简洁,更简单的方式编写,假设你输入的代码作为参考,我没有修复任何东西。

答案 3 :(得分:0)

如果按n+nn表示n=56+5656

对于n=56,只需:

n=int(raw_input()) #or any number
print n+int(str(n)+str(n))

答案 4 :(得分:0)

%format是python的字符串格式化程序。以python 2.7为例,您可以使用%之类的:

n = input("Input an integer: ")
print eval('%s+%s%s' % (n,n,n))

或使用format之类的:

n = input("Input an integer: ")
print eval('{}+{}{}'.format(str(n),str(n),str(n)))

我建议您阅读PyFormat: Using % and .format() for great good!