[英]Looping and Lists - Grok Learning
我今天刚开始在 Grok Learning 上学习编写 Python 代码,我目前被困在这个问题上。 我必须创建一个读取消息的代码,并且:
我做对了所有事情,但最后我无法摆脱一个空间。 我想知道是否有人知道如何删除它。 这是我的代码:
code = []
translation = []
msg = input("code: ")
code = msg.split()
code.reverse()
for c in code:
if c[0].isupper():
translation.append(c)
print("says: ", end='')
for c in translation:
c = c.lower()
print(c, end = ' ')
谢谢:)
您需要对translation
中的所有字母进行迭代,但最后一个字母并在没有空格的情况下单独打印:
for c in translation[:-1]:
c = c.lower()
print(c, end = ' ')
print(translation[-1], end='')
这是一个常见的问题:
如果你真的想构建生成的字符串,我会说 pythonic 的方法是str.join()
。 它接受任何可迭代的字符串,例如一个列表,并使用调用它的字符串作为分隔符将所有元素连接在一起。 举个例子:
my_list = ["1", "2", "3"]
joined = ", ".join(my_list)
# joined == "1, 2, 3"
在你的情况下,你可以做
msg = "Hello hello test Test asd adsa Das"
code = msg.split()
code.reverse()
translation = [c.lower() for c in code if c[0].isupper()]
print("says: ", end='')
print(" ".join(translation))
# output:
# says: das test hello
对于打印,请注意print
也可以采用多个元素并使用分隔符打印它们。 所以,你可以使用这个:
print(*translation, sep=" ")
您也可以省略显式设置 sep 因为空格是默认设置:
print(*translation)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.