Learn Python the hard way 习题48

# coding:utf-8 

class lexicon(object):

	def __init__(self):
		# dictionary to find word on
		self.directions = ['south', 'north', 'east', 'west']
		self.verbs = ['go', 'kill', 'eat']
		self.stops = ['the', 'in', 'of']
		self.nouns = ['bear', 'princess']
	
	def scan(self, sentence):
		
		result = []
		
		words = sentence.split()
		
	##  while(len(words) != 0):
		#	word = words.pop(0)
		for word in words:
		##	if(self.direction.count(word) == 1):
			if word in self.directions:
				result.append(('direction', word))
			elif word in self.verbs:
				result.append(('verb', word))
			elif word in self.stops:
				result.append(('stop', word))
			elif word in self.nouns:
				result.append(('noun', word))
			else:
				try:
					word = int(word)
					result.append(('number', word))
				except ValueError:
					result.append(('error', word))
			
		
		return result
		
# 测试未实例化 否则会unbound
lexicon = lexicon()

练习48是第一次自己写代码,出现了很多问题。

1.unboud:习题的测试代码没有实例化lexicon,需要在模块中实例化。

2.关于怎么在列表中查找是否存在:

自己写成这样:

if(self.direction.count(word) == 1):
后来看到别人的代码:

if word in self.directions:


就可以了,,,

3.循环的条件:

也是:

while(len(words) != 0):
 	word = words.pop(0)


这样就行(还不用定义word了:

for word in words:
不过学到了不少list的方法。



还有的疑问:

书上是:from ex48 import lexicon

而我:from Game.lexicon import lexicon。 不加'.lexicon'就会importError

查询import的用法,点是子文件夹













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Python的硬道理》是一本非常受欢迎的Python编程习教程。它是由Zed Shaw编写的,以实践为基础的习方法,具有适合初者的特点。 这本教程通过一系列的练习和示例,帮助读者逐步掌握Python编程的基础知识和技能。它强调通过不断实践和写代码来习,而不只是被动地阅读理论知识。实践中的困难会迫使习者主动思考和解决问题,这也是为什么它被称为"Python的硬道理"。 该教程提供了一些实用的技巧和建议,帮助初者更好地理解和掌握Python编程。通过逐步实现一些小项目和练习题,读者可以逐渐提升自己的编程能力。 与其他教程相比,这本教程更倾向于通过实践习,并鼓励读者多写代码和尝试不同的方法。这样的习方式对于编程入门者来说非常有益,因为它使他们能够更深入地理解编程的核心思想和概念。 总而言之,《Python的硬道理》是一本很好的Python编程习教程,特别适合初者。通过它,读者可以获得坚实的编程基础,并能够在实践中不断提升自己的技能。 ### 回答2: 《Learn Python the Hard Way笨办法Python)》是一本广受欢迎的Python编程入门书籍,主要通过实践和练习来帮助读者掌握Python编程语言。 这本书的PDF版本非常受欢迎,因为它提供了免费的习资源,可以随时随地进行习。通过下载这个PDF文件,读者可以在没有网络连接的情况下进行习,并且可以根据自己的进度习。 《Learn Python the Hard Way》这本书的特点是以实践为重,通过编写和运行代码来Python编程。它提供了大量的练习题习题答案,帮助读者巩固所的知识,并培养解决问题的能力。 这本书适合初Python编程,无论是有编程经验还是没有编程经验的读者都可以从中受益。它从基础知识开始,逐步介绍了Python的各个方面,包括变量、函数、循环、条件语句等等。通过实践和编程练习,读者可以逐渐掌握Python的编程技巧和应用。 总之,Python的最佳途径是通过实践来掌握。《Learn Python the Hard Way》的PDF版本提供了免费的习资源,可供读者随时随地进行习。通过实践和编程练习,读者可以快速掌握Python编程的基础知识和技巧。这本书尤其适合初者,无论有无编程经验,都可以通过习它来迅速入门Python编程。 ### 回答3: "Learn Python the Hard Way"是一本非常受欢迎的Python编程入门书籍,由Zed A. Shaw撰写。该书旨在帮助初者通过实际的编程练习来Python语言。 这本书的一个主要特点是通过一系列的编程练习来进行习,每个练习都有详细的说明和示范代码。生需要阅读相关材料,并按照书中的指导进行代码编写和测试。通过这种刻意练习的方法,生可以逐步适应并掌握Python的语法、逻辑和编程思维。 "Learn Python the Hard Way"强调了编程的实践重要性,鼓励生不断尝试、理解和解决问题。通过完成一些较为复杂的编程练习,生可以逐步提高他们的编程能力和解决问题的技巧。 该书所提供的练习和教方法不仅适合初者,也适用于那些希望通过实践来巩固他们的Python知识的中级习者。 总的来说,"Learn Python the Hard Way"是一本适合通过实践来Python编程的入门教材。它通过一系列的编程练习帮助生逐步掌握Python的基础知识和编程技巧,是一本非常实用和受欢迎的Python习资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值