【问题标题】:Strings Iteration - Printing a String Horizontally [closed]字符串迭代 - 水平打印字符串 [关闭]
【发布时间】:2015-08-09 04:45:35
【问题描述】:

所以伙计们,我一直在尝试在以下情况下水平打印字符串,我遍历字符串然后打印它。但它不会水平打印。相反,它垂直打印。 我的代码:

Python 版本 2.7.10

for word in "Monty Python":
    print word

输出是:

M
o
n
t
y

P
y
t
h
o
n

我需要你的帮助! 提前致谢!

【问题讨论】:

  • 这在我看来是垂直的
  • 你在说什么?您正在垂直打印它。水平方向看起来像 Monty Python 只是 print "Monty Python"
  • 对不起,英语不好,还没习惯。不过谢谢!
  • 如果是水平打印,为什么需要遍历每个字符?您可以使用:打印“Monty Python”
  • 您尝试生成的输出是什么?如果代码按照您想要的方式运行,您会打印什么?

标签: python python-2.7


【解决方案1】:

您可以使用 __future__ 中的 print_function。

CODE 1

from __future__ import print_function
for word in "Monty Python":
    print(word,end=' ')

输出 1

M o n t y   P y t h o n 

如果您不想用空格分隔 OUTPUT,请将 end=' ' 替换为 end=''

代码 2

from __future__ import print_function
for word in "Monty Python":
    print(word,end='')

输出 2

Monty Python 

【讨论】:

  • 完美!你摇滚,伙计!这正是我想要的。
  • 刚刚做到了!谢谢!
【解决方案2】:

您不需要任何迭代。只需这样做:

水平方向:

print "Monty Python"

输出:

Monty Python

如果你真的必须遍历它,你应该使用sys.stdout.write()而不是打印,因为打印会在每个打印语句的末尾添加一个换行符。

import sys
for letter in "Monty Python":
    sys.stdout.write(letter) 

【讨论】:

  • 谢谢!我会这样做的!
【解决方案3】:

您必须尝试使用​​ join 关键字,例如:

print "".join("monty python" 中逐字逐句);

output : monty python

【讨论】:

  • 太棒了!明白了,谢谢你的帮助!
【解决方案4】:

你也可以使用join方法来做到这一点。

m= "Monty Python"
k = "".join([word for word in m])

print k

【讨论】:

    猜你喜欢
    • 2018-01-21
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    相关资源
    最近更新 更多