将变量同时用作整数和字符串(Python)
我想在同一语句中使用一个变量作为整数和字符串。在BASIC中,它将如下所示:将变量同时用作整数和字符串(Python),python,Python,我想在同一语句中使用一个变量作为整数和字符串。在BASIC中,它将如下所示: cnt = 0 while cnt < 10: cnt = cnt + 1 print cnt + " + 1 = " + cnt + 1 cnt=0 当cntcnt=0 >>>当cnt
cnt = 0
while cnt < 10:
cnt = cnt + 1
print cnt + " + 1 = " + cnt + 1
cnt=0
当cnt<10时:
cnt=cnt+1
打印cnt+“+1=“+cnt+1
我理解Python有点不同(整数必须在打印为字符串之前进行转换,但在这里使用“cnt=str(cnt)”之类的函数似乎效果不太好)。做这件事最简单的方法是什么?没有,因为Python是
你几乎是对的;你只需要告诉Python什么时候把某个东西变成字符串
>>> cnt = 0
>>> while cnt < 10:
... cnt += 1
... print str(cnt) + " + 1 = " + str(cnt + 1)
...
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4
4 + 1 = 5
5 + 1 = 6
6 + 1 = 7
7 + 1 = 8
8 + 1 = 9
9 + 1 = 10
10 + 1 = 11
>cnt=0
>>>当cnt<10时:
... cnt+=1
... 打印str(cnt)+“+1=“+str(cnt+1)
...
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4
4 + 1 = 5
5 + 1 = 6
6 + 1 = 7
7 + 1 = 8
8 + 1 = 9
9 + 1 = 10
10 + 1 = 11
严格地说,在这里,您不能同时将cnt
视为一个整数和一个字符串——它始终是一个整数
print str(cnt) + " + 1 = " + str(cnt + 1)
或
或
对于Python 2.6+,
格式
方法是构建包含其他值的字符串的首选方法:
'{0} + 1 = {1}'.format(cnt, cnt + 1)
您可以打印
int
s以及str
ings。如果您知道完全可以自己编写print cnt
,而无需显式地将其放入字符串中,那么您可能会对某些答案感到困惑
>>> cnt = 0
>>> while cnt < 10:
... cnt += 1
... print str(cnt) + " + 1 = " + str(cnt + 1)
...
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4
4 + 1 = 5
5 + 1 = 6
6 + 1 = 7
7 + 1 = 8
8 + 1 = 9
9 + 1 = 10
10 + 1 = 11
字符串格式语言非常有用且功能强大,这是您需要了解的。但是写起来很好
print cnt, "+ 1 =", cnt + 1
这在精神上更接近你的要求。Python会自动在参数之间添加空格,并在行尾添加一个换行符(若要禁止此操作,请在行尾添加另一个逗号)。不鼓励以这种方式使用
%
运算符(可能已弃用)。Python(2.6+)较新版本的用户应该喜欢格式
方法。然而,人们已经习惯并将继续使用3.2+。@Marcelo,我认为它还没有被弃用.format()
在Python@agf上不起作用:我同意他们已经习惯了这一点(如果他们是在较旧的版本上,那么确实必须使用),但我们仍然应该鼓励在可行的情况下使用现代习惯用法。当你说“BASIC”时,你指的是哪种变体?有很多不同的版本。+1,但是你应该提到Python2.6+是这个版本所必需的answer@gnibbler:谢谢你的提示。完成。
for cnt in range(10):
print str(cnt) + " + 1 = " + str(cnt + 1)
for cnt in range(10):
print "%d + 1 = %d".format(cnt, cnt + 1)
'{0} + 1 = {1}'.format(cnt, cnt + 1)
print cnt, "+ 1 =", cnt + 1