Python
从零开始的Python学习笔记
海超人and大洋游侠
这个作者很懒,什么都没留下…
展开
-
Python项目:外星人入侵(汇总)
直接上成品:本次项目一共用到的八个文件(图片文件省略)每个文件源代码如下:alien.py:import pygamefrom pygame.sprite import Spriteclass Alien(Sprite): '''表示单个外星人的类''' def __init__(self,ai_game): '''初始化外星人并设置其起始位置''' super().__init__() self.screen = ai_game.screen sel原创 2022-01-30 17:37:45 · 2702 阅读 · 2 评论 -
Python项目:外星人入侵(二)
1、驾驶飞船下面将编写代码,在用户按左或者右箭头时,做出响应。响应按键:每当用户按键时,都将在Pygame中注册一个事件。事件都是通过方法pygame.event.get()获取的。因此需要在方法_check_events()中指定要检查哪些类型的事件。每次按键都将被注册为一个KEYDOWN事件。Pygame检测到KETDOWN事件时,需要检查按下的是否时出发行动的键。例如,如果玩家按下的是右箭头,就增大飞船的rect.centerx值,将飞船向右移动: def _check_even原创 2022-01-22 19:00:19 · 2813 阅读 · 0 评论 -
Python项目:外星人入侵(三)
限制飞船活动范围:修改ship类的方法update(): def update(self): """根据移动标志调整飞船的位置""" #更新飞船而不是rect对象的x值 if self.moving_right and self.rect.right < self.screen_rect.right: self.x += self.settings.ship_speed if self.moving_left and self.rect.left > 0: .原创 2022-01-23 12:48:23 · 2607 阅读 · 0 评论 -
Python项目:外星人入侵(一)
1、安装Pygame使用pip模块下载并安装Python包。要安装Pygame,在终端提示符下执行如下命令。下载完成2、创建Pygame窗口及响应用户输入新建文件夹,将其保存为alien_invasion.py,在其中输入以下代码。import sysimport pygameclass AlienInvasion: """管理游戏资源和行为的类""" def __init__(self): """初始化游戏并创建游戏资源""" pygame.init()原创 2022-01-20 19:43:48 · 2424 阅读 · 0 评论 -
Python项目:使用Git进行版本控制
版本控制软件能够拍摄处于可行状态的项目快照。修改项目后,如果项目不能正常运行,可恢复到前一个可行状态。1、安装GitGit可在所有操作系统上运行,但安装发放随操作系统而异,接下来只说明在Window系统下如何安装Git。可从Git网站下载Git安装程序。这个网站中你将看到下载链接,只想适合你的系统的安装程序。Git下载地址页面如下,选择第一个链接,最新安装教程(转载)2、配置Git Git跟踪是谁修改了项目...原创 2022-01-20 13:38:04 · 631 阅读 · 0 评论 -
Python测试代码
使用test_cities.py来测试city_function.py中的city_country函数city_function.py文件内容def city_country(city,country,population = 0): """返回一个形如'Santiago,Chile'的字符串""" output_string = f"{city.title()}, {country.title()}" if population: output_string += f"...原创 2022-01-19 16:18:16 · 324 阅读 · 0 评论 -
Python 异常处理
python中使用try-except代码块处理可能引发的异常。下面是简单的示例:try: print(5/0)except ZeroDivisionError: print("You can't divide by zero!")结果输出:You can't divide by zero!原创 2022-01-18 17:27:52 · 42 阅读 · 0 评论 -
Python 读文件
文件名称及内容如下:文件和程序存放于同一个文件夹目录中。读文件的三种不同方式:filename = 'pi_digits.txt'with open(filename) as file_object: lines = file_object.read()print(lines)with open(filename) as file_object: for line in file_object: print(line.strip())print("\n")with ope.原创 2022-01-18 15:52:40 · 241 阅读 · 0 评论 -
Python random模块randint、choice应用
from random import randint,choicedef get_winning_ticket(possibilities): """摇出中奖组合""" winning_ticket = [] while len(winning_ticket) < 4: pulled_item = choice(possibilities) if pulled_item not in winning_ticket: winning_ticket.append(pulled_it.原创 2022-01-18 13:14:06 · 423 阅读 · 0 评论 -
Python 类的继承
冰激凌小店是一种特殊的餐馆。编写一个名为 IceCreamStand 的类,继承Restaurant 类。添加一个名为 flavors 的属性,用于存储一个由各种口味的冰激凌组 成的列表。编写一个显示这些冰激凌的方法。创建一个 IceCreamStand 实例,并调用这个 方法。class Restaurant(): """一个表示餐馆的类。""" def __init__(self, name, cuisine_type): """初始化餐馆。""" self.name...原创 2022-01-18 10:58:56 · 212 阅读 · 0 评论 -
Python 函数
1、定义函数下面是一个打印问候语的简单函数,名为greet_user():def greet_user(): """显示简单的问候语""" print("Hello!")greet_user()第二行处的文本称为文档字符串的注释,描述了函数是做什么的。2、像函数传递信息def greet_user(username): """显示简单的问候语""" print(f"Hello,{username.title()}")...原创 2022-01-16 21:36:31 · 198 阅读 · 0 评论 -
Python 使用while循环处理列表和字典
1、在列表之间移动元素假设有一个列表包含新注但还未验证的网站用户。验证这些用户后,如果将他们移动到另一个已验证用户列表中呢?一种办法是用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中。代码如下:#首先,创建一个待验证用户列表# 和一个用于存储已验证用户的空列表。unconfirmed_users = ['alice','brian','candace']confirmed_users = []#验证每个用户,知道没有未验证的用户为止原创 2022-01-16 20:27:30 · 574 阅读 · 0 评论 -
Python While循环
for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,知道指定的条件不满足为止。示例:prompt = "\nTell me something,and I will repeat it back to you."prompt += "\nEnter 'quit' to end the program."message = ""while message != 'quit': message = input(prompt) prin...原创 2022-01-16 19:17:09 · 219 阅读 · 0 评论 -
Python元组
Python将不能修改的值称为不可变的,而不可变的列表被称为元组。1、定义元组元组看起来很像列表,但使用圆括号而非中括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。dimensions = (200,50)print(dimensions[0])print(dimensions[1])严格地说,元组是由逗号标识的,圆括号只是让元组看起来更整洁、更清晰。如果你想要定义只包含一个元素的元组,必须在这个元素后面加上逗号:my_y=(3,)2、遍历元组中的所原创 2022-01-15 14:59:00 · 521 阅读 · 0 评论 -
Python列表解析
#列表解析#列表解析是将for循环和创建新元素的代码合并成一行,并自动附加新元素。#例如:#生成一个列表其中包含了1~10的平方和#普通方法squares = []for value in range(1,11): squares.append(value**2)print(squares)#列表解析squares = [value ** 2 for value in range(1,11)]print(squares)可以看出两种结果是完全一样的,列表解析可以让代码.原创 2022-01-15 09:50:26 · 97 阅读 · 0 评论