[英]How to replace the space in a sentence input to a dash in the output
我们有一个学校活动,我需要 map 字母到电话号码。 我快完成了,但我似乎无法让句子的空格变成“-”
我试过的代码是这样的:
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'
语句是检查字符串元素是否是字母表,而空格('')不是这种情况,删除它并正确缩进代码解决了这个问题。
您的 if isalpha() 语句无法识别字母表中的空字符串。 只需在末尾创建一个 else 语句,如下所示:
sentence = input("Enter a sentence: ").upper()
phone_number = ""
for char in sentence:
if(char.isalpha()):
if (char in "ABC"):
phone_number += "2"
elif (char in "DEF"):
phone_number += "3"
elif (char in "GHI"):
phone_number += "4"
elif (char in "JKL"):
phone_number += "5"
elif (char in "MNO"):
phone_number += "6"
elif (char in "PQRS"):
phone_number += "7"
elif (char in "TUV"):
phone_number += "8"
elif (char in "WXYZ"):
phone_number += "9"
else:
phone_number += char
elif char in ' ':
phone_number += '-'
else:
print('Error. Please dont use special characters.')
print(number_sequence)
.isalpha() 为空间返回 False,因此您在第一个“if”时会丢失它
if(number.isalpha() or number==' '):
这将解决问题。 或者:
您可以删除最后一个 else 意图:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.