python - 如何在一个单词中显示前 3 个字母,但在 Python 3 中用“-”破折号替换单词的其余部分
问题描述
假设我有一个单词,我只想显示单词的前三个字母。但剩下的最后一个字母需要显示破折号或星号等。
例如,如果我们有单词javascript
,那么输出应该显示jav-------
,pebbles
应该显示为peb----
,或者代替python
,输出应该显示pyt---
,等等。
在这种情况下会str.replace(old, new)
或工作吗?str.replace(old, new, count)
如果是,那么如何?
这是我做的一个例子:
>>> p = "kotlin"
>>> p = p.replace(p[3:], "-")
>>> p
'kot-'
>>>
然而,所需的输出将显示kot---
,尽管它确实显示了单词中的前 3 个字母,但kot-
最后只显示了一个破折号。
有什么方法可以解决这个问题?
解决方案
您可以创建一个 for 循环,甚至可以使用 len(p) 检查有多少个字母,减去 3,然后将单词数放在前 3 个之后,
p = "kotlin"
p[:3]+"-"*(len(p)-3)
输出
"kot---"
推荐阅读
- shell - 如何将输出重定向到 /dev/null 或 txt 文件
- algorithm - 如何通过二项式定理快速解决这个问题?还有其他方法吗?
- gis - 将 UTM ZONE 转换为 lat long 的最简单方法
- c# - ASP.NET Core 为特定控制器禁用 CORS
- botframework - 如何自定义 Bot Framework 网络聊天标题?
- datetime - 通过 BigQuery 库发送的时间戳对象返回错误“此字段不是记录”
- reactjs - 如何使用 Axios 从 React 中经过身份验证的 API 获取数据?
- clojure - def 和 resolve 在同一个 clojure 宏中
- ios - 将 JSON 响应概括为函数参数
- vespa - 叶组的预期数量是冗余的一个因素,但它不是