繁体   English   中英

Madlibs程序引发ValueError

Madlibs program throws ValueError

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在通过Codeacademy学习Python,而他们的Madlibs练习却遇到了麻烦。 开始遇到麻烦后,我已经查看了演练,但是看不到它们的代码和模式之间的任何区别。 这是我的代码:

STORY = "This morning % woke up feeling %. 'It is going to be a % day!' Outside, a bunch of %s were protesting to keep % in stores. They began to % to the rhythm of the %, which made all the %s very %. Concerned, % texted %, who flew % to % and dropped % in a puddle of frozen %. % woke up in the year %, in a world where %s ruled the world."

print "Let the Madlibs begin!"

name = raw_input("Enter a name: ")

print "Please provide three adjectives: "
adj_1 = raw_input("1: ")
adj_2 = raw_input("2: ")
adj_3 = raw_input("3: ")

verb = raw_input("Enter a verb: ")

print "Now, input two nouns:"
noun_1 = raw_input("1: ")
noun_2 = raw_input("2: ")

print "Please provide a word for:"
animal = raw_input("An animal: ")
food = raw_input("A food: ")
fruit = raw_input("A fruit: ")
superhero = raw_input("A superhero: ")
country = raw_input("A country: ")
dessert = raw_input("A dessert: ")
year = raw_input("A year: ")

print STORY % (name, adj_1, adj_2, animal, food, verb, noun_1, noun_2, adj_3, name, superhero, name, country, name, dessert, name, year, noun_2)

运行程序时,出现以下错误:

追溯(最近一次呼叫最近):文件“ Madlibs.py”,第34行,印刷中故事%(名称,adj_1,adj_2,动物,食物,v erb,名词_1,名词_2,adj_3,名称,超级英雄,名称,行业,名称,甜点,名称,年份,名词_2)ValueError:索引15处不支持的格式字符'w'(0x77)

请帮助我看看我所缺少的。 谢谢!

1 个回复

您的格式字符串( STORY )中包含一些无效的占位符。 格式化字符串时,必须指定将在每个占位符处放置什么类型的数据。 为此,您可以在%符号后加上一个字母。 在这种情况下,由于您总是输入字符串,因此应该为s 因此, STORY应该像这样开始:

STORY = "This morning %s woke up feeling %s. [...]"

Python文档中有关于此语法的更多详细信息,该文档说明了如何以某种方式执行诸如格式化数字之类的操作。

(但是,值得记住的是,在现代Python中,我们通常使用str.format()使用更新的语法 ,如下所示:

STORY = "This morning {name} woke up feeling {adj_1}. [...]"
print STORY.format(name="James", adj_1="terrible")

1 如何引发ValueError?

我有这个代码,它找到字符串中特定字符的最大索引,但是我希望它在字符串中没有出现指定字符时引发ValueError 。 所以像这样: 会导致: → ValueError: could not find k in bababa 我怎样才能做到这一点? 这是我的函数的当 ...

2 如果否则引发ValueError

我正在关注: 如果在列表理解中 但是以下小程序正在生成语法错误: else子句生成错误。 但是,如果我删除else子句,它将运行,我想为我的字典“ xlate”中不是键的任何输入引发ValueError。 注意我正在研究exercism.io的rna转录问题。 ...

3 Flask SocketIO引发ValueError

我正在尝试设置可以使用SocketIO的Flask服务器,但是它不起作用,并且它向我返回以下错误: 这是我对烧瓶环境的设置: 然后,我像通常那样运行,并且在开始使用SocketIO之前可以工作: 这是我的application.py代码,这很简单,但可能会有所帮助: ...

6 相对导入引发ValueError

我具有以下目录结构: 现在,我想从foo2.py导入模块foo1.py。 在foo2.py中,我from ..foo1.foo1 import *导入了from ..foo1.foo1 import *但是我得到的只是: 如何获得此相对进口? ...

7 导入httplib引发ValueError

我有一个运行良好的python脚本,但是当我尝试启动它时突然开始抛出该脚本: 由于它是在脚本执行任何操作之前发生的,因此我担心在python安装中可能出现了问题。 但是在做任何大胆的事情之前,我想确定我是否误解了该异常。 ...

8 dask dataframe groupby和multi index引发ValueError

我有以下数据框 警报数据通常是由Elasticsearch下载的数据创建的。 然后我从2个空的MySQL表中获取一些数据 在此之前,我可以成功执行以下聚合: 通常,我想合并数据库表中的警报和两个数据框,然后执行groupby。 执行以下合并: 但是尝试执行相同 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM