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的结果如何?我只是没有得到%这么多的想法。
答案 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)))