python - 为什么 sep='.' 不在此代码中工作?
问题描述
我试图将用户输入的全名输入其首字母,然后将首字母打印到屏幕上。我们必须使用循环和列表。
我在网上搜索过,找不到特定于我正在尝试做的事情的答案。
fullName = input('Please enter your full name: ')
name = []
for i in fullName:
if i.isupper():
name.append(i)
for i in name:
print(i, sep='.', end='')
我希望打印输出为A.B.C
. 我目前正在获取ABC
.
我做错了什么或没有看到?
解决方案
让我们将代码简化为一个最小的示例。输入和预处理步骤无关紧要:
name = list('ABC')
for i in name:
print(i, sep='.', end='')
这相当于调用
print ('A', sep='.', end='')
print ('B', sep='.', end='')
print ('C', sep='.', end='')
希望您可以看到每个打印语句都在打印一件事,这意味着它sep
永远不会发挥作用。您可能希望将列表(或字符串)的元素拆分为单独的参数,以便对print
.
最简单的方法是使用星形扩展:
print(*name, sep='.')
或者,您可以自己进行格式化:
print('.'.join(name))
推荐阅读
- flutter - 如何在 Flutter 中获得安全的区域大小/填充
- r - 在 R 中将矩阵保存为对象的问题
- powershell - 遍历 CSV 并创建一个数组
- snowflake-cloud-data-platform - 雪花存储过程 - 如何检索 CTAS 语句创建的行数
- zsh - JDK 的别名在 ZSH 中不起作用,但在 bash 中起作用
- python - 将 Python Flask 应用程序部署到 Heroku 崩溃了
- php - apache 临时通过脚本启动 VirtualHost
- ruby - Ruby中浮点变量的最大值
- javascript - 正则表达式 (Regex) 一次只允许数字或带有数字的特定字符
- javascript - 如何正确过滤数组