当前位置: 首页 > news >正文

Python练手小项目

计算器

创建一个简单的计算器,能够进行加、减、乘、除四种基本运算。

# 定义加法函数
def add(x, y):return x + y# 定义减法函数
def subtract(x, y):return x - y# 定义乘法函数
def multiply(x, y):return x * y# 定义除法函数
def divide(x, y):if y == 0:return "Error! Division by zero."  # 防止除以零return x / y# 打印操作选项
print("Select operation:")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")# 获取用户选择的操作
choice = input("Enter choice(1/2/3/4): ")# 获取用户输入的两个数字
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))# 根据用户选择的操作调用相应的函数
if choice == '1':print(f"{num1} + {num2} = {add(num1, num2)}")
elif choice == '2':print(f"{num1} - {num2} = {subtract(num1, num2)}")
elif choice == '3':print(f"{num1} * {num2} = {multiply(num1, num2)}")
elif choice == '4':print(f"{num1} / {num2} = {divide(num1, num2)}")
else:print("Invalid input")  # 处理无效输入

猜数字游戏

编写一个猜数字游戏,计算机随机生成一个1到100之间的数字,用户需要猜这个数字,程序会提示猜大了还是猜小了,直到猜对为止。

import random  # 导入随机数模块# 生成一个1到100之间的随机数
number_to_guess = random.randint(1, 100)
attempts = 0  # 初始化尝试次数print("Guess the number between 1 and 100")while True:guess = int(input("Enter your guess: "))  # 获取用户猜测的数字attempts += 1  # 尝试次数加一if guess < number_to_guess:print("Too low!")  # 提示猜的数字太小elif guess > number_to_guess:print("Too high!")  # 提示猜的数字太大else:print(f"Congratulations! You've guessed the number in {attempts} attempts.")  # 猜对了break  # 结束循环

简单的记事本

创建一个简单的记事本应用,用户可以添加、查看和删除笔记。

notes = []  # 初始化一个空列表来存储笔记# 添加笔记的函数
def add_note():note = input("Enter your note: ")notes.append(note)print("Note added!")# 查看所有笔记的函数
def view_notes():print("Your notes:")for i, note in enumerate(notes, 1):print(f"{i}. {note}")# 删除笔记的函数
def delete_note():view_notes()  # 先显示所有笔记note_index = int(input("Enter the note number to delete: ")) - 1if 0 <= note_index < len(notes):del notes[note_index]print("Note deleted!")else:print("Invalid note number")  # 处理无效输入# 主循环
while True:print("\n1. Add Note")print("2. View Notes")print("3. Delete Note")print("4. Exit")choice = input("Enter your choice: ")if choice == '1':add_note()elif choice == '2':view_notes()elif choice == '3':delete_note()elif choice == '4':break  # 退出循环else:print("Invalid choice. Please try again.")  # 处理无效选择

简单的联系人管理系统

创建一个简单的联系人管理系统,可以添加、查看、删除联系人。

contacts = {}  # 初始化一个空字典来存储联系人# 添加联系人的函数
def add_contact():name = input("Enter contact name: ")phone = input("Enter contact phone number: ")contacts[name] = phoneprint("Contact added!")# 查看所有联系人的函数
def view_contacts():print("Your contacts:")for name, phone in contacts.items():print(f"Name: {name}, Phone: {phone}")# 删除联系人的函数
def delete_contact():name = input("Enter the name of the contact to delete: ")if name in contacts:del contacts[name]print("Contact deleted!")else:print("Contact not found")  # 处理联系人未找到的情况# 主循环
while True:print("\n1. Add Contact")print("2. View Contacts")print("3. Delete Contact")print("4. Exit")choice = input("Enter your choice: ")if choice == '1':add_contact()elif choice == '2':view_contacts()elif choice == '3':delete_contact()elif choice == '4':break  # 退出循环else:print("Invalid choice. Please try again.")  # 处理无效选择

简单的待办事项列表

创建一个简单的待办事项列表应用,可以添加、查看和删除待办事项。

todo_list = []  # 初始化一个空列表来存储待办事项# 添加任务的函数
def add_task():task = input("Enter a new task: ")todo_list.append(task)print("Task added!")# 查看所有任务的函数
def view_tasks():print("Your tasks:")for i, task in enumerate(todo_list, 1):print(f"{i}. {task}")# 删除任务的函数
def delete_task():view_tasks()  # 先显示所有任务task_index = int(input("Enter the task number to delete: ")) - 1if 0 <= task_index < len(todo_list):del todo_list[task_index]print("Task deleted!")else:print("Invalid task number")  # 处理无效输入# 主循环
while True:print("\n1. Add Task")print("2. View Tasks")print("3. Delete Task")print("4. Exit")choice = input("Enter your choice: ")if choice == '1':add_task()elif choice == '2':view_tasks()elif choice == '3':delete_task()elif choice == '4':break  # 退出循环else:print("Invalid choice. Please try again.")  # 处理无效选择

相关文章:

Python练手小项目

计算器 创建一个简单的计算器&#xff0c;能够进行加、减、乘、除四种基本运算。 # 定义加法函数 def add(x, y):return x y# 定义减法函数 def subtract(x, y):return x - y# 定义乘法函数 def multiply(x, y):return x * y# 定义除法函数 def divide(x, y):if y 0:return…...

苹果手机通讯录恢复教程?3招速成指南

随着科技的不断进步&#xff0c;手机丢失、系统崩溃等意外情况也时有发生&#xff0c;一旦这些情况发生&#xff0c;我们宝贵的通讯录资料很可能会付诸东流。对此&#xff0c;本文为广大苹果手机用户提供一份简洁明了的通讯录恢复教程&#xff0c;让你轻松掌握苹果手机通讯录恢…...

python爬虫入门(五)之Re解析

一、什么是Re解析 “Re解析”是指使用正则表达式&#xff08;regular expression&#xff0c;简称regex&#xff09;进行文本解析或匹配的过程。 解析网页内容的三种方式&#xff1a; 1、bs4解析&#xff08;最简单&#xff09; 2、re解析&#xff08;解析速度最快&#xf…...

可靠的图纸加密软件,七款图纸加密软件推荐

大家好啊,我是小固,今天跟大家聊聊图纸加密软件。 作为一名设计师,我深知保护自己的知识产权有多重要。曾经就因为图纸泄露,差点血本无归,那个教训可真是惨痛啊!所以我今天就给大家推荐几款靠谱的图纸加密软件,希望能帮到你们。 固信软件https://www.gooxion.com/ 首先要隆重…...

【每日一题】【最短路】【BFS】小红走矩阵 “葡萄城杯”牛客周赛 Round 53 F题 C++

“葡萄城杯”牛客周赛 Round 53 F题 小红走矩阵 题目背景 “葡萄城杯”牛客周赛 Round 53 题目描述 n m n\times m nm的矩阵由障碍和空地组成&#xff0c;初始时小红位于起点 ( 1 , 1 ) (1,1) (1,1)&#xff0c;她想要前往终点 ( n , m ) (n,m) (n,m)。小红每一步可以往上…...

无线磁吸充电宝哪个牌子值得入手?什么牌子磁吸充电宝性价比高?

在当下科技日新月异的时期&#xff0c;无线磁吸充电宝成为了众多电子设备用户的得力助手。然而&#xff0c;面对市场上众多品牌和型号的无线磁吸充电宝&#xff0c;消费者常常陷入选择的困境&#xff1a;到底哪个牌子值得入手&#xff1f;什么牌子的磁吸充电宝性价比高&#xf…...

互联网摸鱼日报(2024-08-01)

互联网摸鱼日报(2024-08-01) 36氪新闻 氪星晚报 | Uber与比亚迪合作&#xff0c;将在平台上增加10万辆电动汽车&#xff1b;维维股份将收购大窑汽水&#xff1f;公司回应&#xff1a;消息不实&#xff1b;我国科学家取得全固态锂电池研究新突破 《死侍与金刚狼》&#xff0c;…...

Alpla003经典的价量背离的因子在可转债列表里的因子分析(附python代码)

原创文章第605篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 遗传算法给出的因子五花八门&#xff0c;可解释性不高。 强化学习原理不同&#xff0c;但结果类似。 大模型之前咱们尝试过&#xff0c;Quantlab3.9代码&#xff1a;内置大模型LL…...

进阶理解——typeof 、instanceof

typeof 、instance of 先聊聊JavaScript基本类型数据类型5种含值数据类型2种不含值类型 6种类型的*对象* typeofinstanceof总结进一步扩展一下具体讨论一下typeof局限性扩展判断方法 很多时候&#xff0c;回头望&#xff0c;理解会更深刻&#xff0c;也希望能帮助一些初学的同学…...

不同类型的生物反应器在支架成熟过程中具有哪些特点和应用?

3D Bioprinting of Human Tissues: Biofabrication, Bioinks, and Bioreactors是发表于《International Journal of Molecular Sciences》的一篇综述&#xff0c;详细介绍了3D生物打印人体组织的相关技术进展&#xff0c;包括数据处理、生物打印技术、生物墨水配方、生物反应器…...

8. Spring Ai之入门到精通(超级详细)

简介 2024年5月30号Spring AI 的 1.0.0 里程碑 1 版本发布。表明版本已正在巩固&#xff0c;并且大部分主要错误和问题已经解决&#xff0c;API基本已确定&#xff0c;不会发生很大的变化。 在与大模型集成方面&#xff0c;继LangChain4j之后&#xff0c;又一重大的框架诞生。标…...

寄存器和硬件的关系

寄存器也是一种存储器&#xff0c;只不过普通的存储器只能写和读。里面的数据并没有赋予什么实际意义。但是寄存器就不一样了&#xff0c;寄存器的每一位数据&#xff0c;都对应了硬件电路的状态。寄存器和外设的硬件电路&#xff0c;是可以进行互动的。所以&#xff0c;程序到…...

【WEB】ctfshow-萌新-web9-15

文章目录 题目介绍&#xff1a;题目分析&#xff1a;payload&#xff1a; 题目介绍&#xff1a; ctfshow-萌新计划-web9-15 <?php # flag in config.php include("config.php"); if(isset($_GET[c])){$c $_GET[c];if(preg_match("/system|exec|highlight…...

【Vulnhub靶场AI-WEB-1.0打靶教程】

第一步&#xff1a;查看虚拟机的ip 第二步&#xff1a;扫描ip下开放的80端口 第三步&#xff1a;扫描查到的ip地址下的目录 第四步&#xff1a;访问查到的目录 访问robot.txt 第五步:访问robot.txt显示出的目录 第六步&#xff1a;打开kali终端&#xff0c;使用sqlmap功能 sq…...

html实现酷炫美观的可视化大屏(十种风格示例,附源码)

文章目录 完整效果演示1.蓝色流线风的可视化大屏1.1 大屏效果1.2 大屏代码1.3 大屏下载 2.地图模块风的可视化大屏2.1 大屏效果2.2 大屏代码2.3 大屏下载 3.科技轮动风的可视化大屏3.1 大屏效果3.2 大屏代码3.3 大屏下载 4.蓝色海洋风的可视化大屏4.1 大屏效果4.2 大屏代码4.3 …...

【C++BFS算法 二分查找】2812. 找出最安全路径

本文涉及知识点 CBFS算法 C二分查找 LeetCode2812. 找出最安全路径 给你一个下标从 0 开始、大小为 n x n 的二维矩阵 grid &#xff0c;其中 (r, c) 表示&#xff1a; 如果 grid[r][c] 1 &#xff0c;则表示一个存在小偷的单元格 如果 grid[r][c] 0 &#xff0c;则表示一…...

轻触开关 KH-4.5X4.5X5.5H-STM

品  牌&#xff1a; kinghelm(金航标) 厂家型号&#xff1a; KH-4.5X4.5X5.5H-STM 封装&#xff1a; SMD 商品毛重&#xff1a; 0.317克(g) 包装方式&#xff1a; 编带...

3.redis客户端

1.命令行客户端 在安装redis的时候就已经安装好了&#xff0c;就是redis-cli redis-cli -h 127.0.0.1 -p 6379 -a 123456 -a 表示密码 -h 表示ip&#xff0c;不配置默认为本机 127.0.0.1 -p 表示端口&#xff0c;不配置默认为 6379 进入后可以输入ping&#xff0c;返回pong代表…...

Rust配置国内源,解决安装依赖慢问题

温馨提示&#xff1a;最新内容仅在原文更新。 国内源使用字节的RsProxy https://rsproxy.cn/ 解决rust-analyzer加载时间过长(请参考本文) 配置环境变量 Mac export RUSTUP_DIST_SERVER"https://rsproxy.cn" export RUSTUP_UPDATE_ROOT"https://rsproxy.cn/r…...

AI学习指南机器学习篇- Q学习的参数与调优

AI学习指南机器学习篇- Q学习的参数与调优 在强化学习领域中&#xff0c;Q学习是一种经典的算法&#xff0c;可以用来解决各种问题&#xff0c;包括游戏和机器人控制等。Q学习算法的性能很大程度上取决于一些重要的参数&#xff0c;例如学习率和折扣因子。本文将介绍这些参数的…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

工厂方法模式和抽象工厂方法模式的battle

1.案例直接上手 在这个案例里面&#xff0c;我们会实现这个普通的工厂方法&#xff0c;并且对比这个普通工厂方法和我们直接创建对象的差别在哪里&#xff0c;为什么需要一个工厂&#xff1a; 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类&#xff1a; 两个发…...