python诡异作用域问题

exquisite2007 2012-09-23 10:15:54
请高手指点以下这段程序有何问题?如何解决

str1="a"
str2=""
for i in range(15):
str2.join(str1)
print str2


本程序目的是打印15个a,但输出结果是空。
如何解决?
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-09-23
  • 打赏
  • 举报
回复
你没有赋值啊?
morris88 2012-09-23
  • 打赏
  • 举报
回复
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> str1 = 'a'
>>> str2 = ''
>>> for i in range(15):
str2 = ''.join((str2, str1))


>>> print str2
aaaaaaaaaaaaaaa
>>>
exquisite2007 2012-09-23
  • 打赏
  • 举报
回复
换成str2=string.join([str2,str3],"")可以暂时解决。但如果有人能解释原因的话,奖励继续
bugs2k 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
请高手指点以下这段程序有何问题?如何解决

str1="a"
str2=""
for i in range(15):
str2.join(str1)
print str2


本程序目的是打印15个a,但输出结果是空。
如何解决?
[/Quote]
貌似 str2 从没被改变过,所以一直保持为空字符串
bugs2k 2012-09-23
  • 打赏
  • 举报
回复
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> str1 = 'a'
>>> str2 = ''
>>> for i in range(15):
str2 += str1


>>> print str2
aaaaaaaaaaaaaaa
exquisite2007 2012-09-23
  • 打赏
  • 举报
回复
是好不要用str2+=str1,这样的解决办法

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧