python - 如何将句子输入中的空格替换为输出中的破折号
问题描述
我们有一个学校活动,我需要将字母表映射到电话号码。我快完成了,但我似乎无法让句子的空格变成“-”
我试过的代码是这样的:
sentence = input("Enter a sentence: ").upper()
phone_number = ""
for number in sentence:
if(number.isalpha()):
if (number in "ABC"):
phone_number += "2"
elif (number in "DEF"):
phone_number += "3"
elif (number in "GHI"):
phone_number += "4"
elif (number in "JKL"):
phone_number += "5"
elif (number in "MNO"):
phone_number += "6"
elif (number in "PQRS"):
phone_number += "7"
elif (number in "TUV"):
phone_number += "8"
elif (number in "WXYZ"):
phone_number += "9"
else:
phone_number += number
number_sequence = phone_number.replace(" ","-")
print(number_sequence)
我预计句子中的空格会被替换为“-”,就像我输入“哈哈哈”一样,它需要是 4242-4242,但它不会出现破折号/连字符。
解决方案
sentence = input("Enter a sentence: ").upper()
phone_number = ""
for number in sentence:
if (number in "ABC"):
phone_number += "2"
elif (number in "DEF"):
phone_number += "3"
elif (number in "GHI"):
phone_number += "4"
elif (number in "JKL"):
phone_number += "5"
elif (number in "MNO"):
phone_number += "6"
elif (number in "PQRS"):
phone_number += "7"
elif (number in "TUV"):
phone_number += "8"
elif (number in "WXYZ"):
phone_number += "9"
else:
phone_number += number
number_sequence = phone_number.replace(" ","-")
print(number_sequence)
您的第一'if'
条语句是检查字符串元素是否是字母表,而空格('')不是这种情况,删除它并正确缩进您的代码解决了这个问题。
推荐阅读
- javascript - 从 JSX 渲染和从函数渲染有什么区别?
- c# - winform将相同的事件处理程序添加到多个未找到的复选框
- parsing - 如何使解析函数接收字符串作为有关 lex 和 yacc 的参数?
- quarkus - 在 Quarkus RestClient 中注入 Apache 客户端
- sql - 创建 A 列的计数以按 B 列分配
- loops - 在循环外注册 xll 插件
- r - 从一个数据框列表中设置 colnames 以匹配另一个数据框列表
- python - Python Beautifulsoup 获取标签下的文本
- html - 有没有办法将 change.org 请愿嵌入网页?
- java - 我正在使用源和目标打印每个边缘,但是当我在 mxgraph java 中使用 getEdgeCount() 时它们会重复