这是我得到的任务:
程序:quote_me()函数 quote_me接受一个字符串参数并返回一个字符串,如果打印,将显示包含添加双引号的字符串 检查传递的字符串是否以双引号(“\”“)开头,然后用单引号括起来 如果传递的字符串以单引号开头,或者如果不以引号开头,则使用双引号括起来 测试函数代码传递字符串输入作为quote_me()
的参数这是我的代码 -
def quote_me(phrase):
if phrase.startswith("\""):
print('\' + phrase + \'')
if phrase.startswith('\''):
print("\" + phrase + \"")
else:
print("use quotations in your input for phrase")
quote_me("\"game\"")
输出:
'+词组+' 在输入中使用语录
期望的输出:'游戏'
我只是不知道我做错了什么以及如何解决它。提前谢谢。
答案 0 :(得分:1)
您的代码中错过了引号。应该是:
def quote_me(phrase):
if phrase.startswith("\""):
print('\'' + phrase + '\'')
if phrase.startswith('\''):
print("\"" + phrase + "\"")
else:
print("use quotations in your input for phrase")
quote_me("\"game\"")
# Output: '"game"'
此外,您所需的输出与两部分的描述不符。
首先,您所需的输出似乎用单引号替换双引号。如果你想做替换而不是添加引号,并且你确定你的字符串的最后一个字符有相应的引号,你可能想要这样做:
def quote_me(phrase):
if phrase.startswith("\""):
print('\'' + phrase[1:-1] + '\'')
if phrase.startswith('\''):
print("\"" + phrase[1:-1] + "\"")
else:
print("use quotations in your input for phrase")
quote_me("\"game\"")
# output: 'game'
其次,您实际打印出一条警告消息,而不是“或者如果不是以引号开头,则用双引号括起来”。这听起来像你只是想要添加适当的引号(即添加引号并避免已经存在的引号类型)的问题。为此,你可以:
def quote_me(phrase):
if phrase.startswith("\""):
print('\'' + phrase + '\'')
else:
print("\"" + phrase + "\"")
quote_me("\"game\"")
# Output: '"game"'
答案 1 :(得分:0)
使用[]访问字符串中的第一个内容会使IMO更简单
def quote_me(phrase):
if phrase[0] == "\"":
print('dq')
print('\'', phrase[1:-1] ,'\'')
elif phrase[0] == ('\''):
print('sq')
print("\"", phrase[1:-1], "\"")
else:
print("use quotations in your input for phrase")
quote_me("\"game\"")