将换行符添加到将分配给变量的Python字符串而不是“print()”

时间:2017-11-17 17:04:32

标签: string python-3.x dictionary

我正在制作一个购物清单脚本,用于将用户输入的食品输入字典。然后,该脚本将这些项转换为字符串,格式化字符串以便于阅读,然后通过Twilio API将SMS发送给另一个用户。

除了字符串在同一行显示每个项目外,其他所有内容似乎都能正常运行。我已经搜索了我的具体问题,虽然我已经看到了其他问题,谈论将字符串上的每个元素打印到一个新行,但当我将字符串赋值给变量时,该解决方案不起作用,我需要做的是让Twilio按预期工作。我仍然认为自己对Python很新,所以如果有人能够提供帮助,我们将不胜感激!

这是源('if select == 2'部分被注释掉了,因为它不是我目前关注的焦点。请忽略它):

Shoplist = {} #sets the initial empty dictionary
...
food, quantity = input("Enter the food followed by a space and the 
quantity, or type 'q q' to quit").split(); quantity
Listadd = {food: quantity} #adds the food and quantity of the food into 
a holding dictionary, Listadd
Shoplist.update(Listadd) #updates Shoplist dictionary
 for k, v in Shoplist.items(): #Concatenates dictionary into strings 
for ease of reading
    print(str(k) + ', ' + str(v)) #Shows user an updated shopping 
list
...
        Shoplist = str(Shoplist).replace("
{","").replace("}","").replace(":",",").replace("\'","")
        print(Shoplist) 

1 个答案:

答案 0 :(得分:0)

来自Twilio documentation

  

要通过REST API发送出站SMS消息,最好是   将新行编码为%0a。

他们的例子是:

Here+is+my+first+line%0aHere+is+my+second+line

听起来你的错误在于格式化字符串以提高可读性。您需要将其格式化为API的规范。