我是python编程的初学者,这是我第一个参加编程的学期。我遇到了一些麻烦。我们正在使用字符串,所以我猜我必须将所有内容转换为字符串。所以这个问题的目标是转换一个电话号码,例如: 1-800-花到1-800-3569377 我不允许使用列表或词典,只是变量,必须包含WHILE LOOP。这是我到目前为止所做的:
print('format: X-XXX-XXXXXXX')
user_input = str(input("give me a phone number: "))
key_alph='abcdefghijklmnopqrstuvwxyz'
key_num= '22233344455566677778889999'
total=''
while user_input[6:12].isalpha():
if user_input[6:12] in key_alph:
print(user_input[:6] ,key_num)
任何帮助将不胜感激。 如果可能的话,答案是不是可以揭示,但如果oyuu必须解释那将是好的。我不知道我是否需要使用索引函数或.append方法.... 先感谢您 丹尼米
答案 0 :(得分:2)
user_input = (input("give me a phone number: "))
key_alph='abcdefghijklmnopqrstuvwxyz'
key_num= '22233344455566677778889999'
counter = len(user_input[:6])
total=user_input[:6] #Stores the part of string which is not going to be changed ("1-800-")
while (counter>0):
alpha = user_input[-counter]
if alpha.isalpha(): #checks if each character in the input is a valid alphabet and not a number.
total+=key_num[key_alph.index(alpha)] #Appending the new characters after the "1-800-"
else:
total+=alpha #This will preserve if any numeric character is encountered and keeps it same as in the input
counter -= 1
print total