将循环/打印输出转换为字符串? Python
问题描述:
def reveal():
guessright = 0
for letter in secretword:
if letter == usertry:
guessright = guessright + 1
print usertry,
else:
print "_",
return guessright
reveal()
当使用reveal()类似于_ _ _ _ a _将由for循环打印时 - 是否有将其打印的内容转换为字符串或获取函数返回2个输出的方式,整数猜测,以及在reveal()正在运行时打印的内容?将循环/打印输出转换为字符串? Python
答
获取函数返回2个输出
def reveal():
guessright = 0
show = []
for letter in secretword:
if letter == usertry:
guessright = guessright + 1
show.append(usertry)
else:
show.append("_")
return guessright, ''.join(show)
reveal()
答
def reveal():
guessright = 0
result = ""
for letter in secretword:
if letter == usertry:
guessright = guessright + 1
result += usertry
else:
result += "_"
return guessright,result
reveal()
答
在Python中,你可以通过使用tuple返回两个输出。
def reveal():
guessright = 0
text = ''
for letter in secretword:
if letter == usertry:
guessright = guessright + 1
text += usertry,
else:
text += "_",
print text
return (guessright, text)
(guessright, text) = reveal()
然后你就可以访问`显示()”的范围guessright
和text
外:
在代码中,你可以做喜欢的事返回英寸
答
当然,也有很多方法 - 最简单的就是用一个列表来保存数据在结束(追加新的数据,而不是打印),然后''.join
它:
def reveal():
text = []
guessright = 0
for letter in secretword:
if letter == usertry:
guessright = guessright + 1
text.append(usertry)
else:
text.append('_')
return guessright, ''.join(text)
reveal()
在这里,我返回一个tuple
这是Python的方式返回多个值。如果你愿意,你可以在元组中解压缩元组:
guessright, text = reveal()
不需要将返回值放在圆括号中。 – 2014-09-19 21:55:59
你说得对,但我一直很喜欢它的样子。 – Adam 2014-09-19 21:56:36