Python习题详解
练习:
1,计算100以内奇数的和
#计算100以内所有奇数的和
sum = 0
# n = 1
# while n < 100:
# # sum = sum + n
# sum += n
# # n = n + 2
# n += 2
# print(sum)
n = 99 #求偶数时n = 100
while n > 0:sum += n# n = n - 2n -= 2
print(sum)
2,打印直角三角形
*
**
***
****
*****
******
layer = int(input("请输入要打印的层数:")) #layer=3
index = 1
while index <= layer: #layer=3#打印*j = 1while j <= index: #index = 1 2 3print("*",end="")j += 1print() #换行index += 1 # index = 2 3 4
3,打印九九乘法表
i = 1
while i <= 9:j = 1while j <= i:print("%s * %s = %s "%(j,i,(i*j)),end="")j += 1print() #换行i += 1
优化:
i = 1
while i <= 9:j = 1while j <= i:res = i * jif res < 10:print("%s * %s = %s "%(j,i,(i*j)),end="")else:print("%s * %s = %s "%(j,i,(i*j)),end="")j += 1print() #换行i += 1
4,判断一个数是否为质数(质数)
质数又称为素数,一个大于1的自然数,除了1和它本身之外,不能被其他自然数整数的数叫做质 数,最小的质数是2,它是唯一一个偶数质数,例如:2,3,5,7,11,13,17等
#判断一个数是否为质数(素数)
num = int(input("请输入一个数:"))
if num <=1:print("这个数不是质数")
elif num == 2:print("这个数是质数")
else:i = 2while i < num:if num % i == 0:print("这个数不是质数")breaki += 1else:print("这个数是质数")
5,实现猜单词的小游戏
小提示:
import random
word = ("easy","python","difficult","hello")
random.choice(word)
将单词的字母顺序打乱
random.randrange()
len()
import random
dir(random) ----- 查看某个模块(random)的所有的方法
help() ----- 调取帮助文档
import random
WORDS = ("import","pyhon","hello","easy","difficult")
print("欢迎来到猜单词游戏!请将乱序的单词组合成正确的单词")
iscontinue = "Y"
while iscontinue == "Y" or iscontinue == "y" or iscontinue == "YES":words = random.choice(WORDS)right = words# print(words)#打乱顺序newword = ""while words:position = random.randrange(len(words))# print(position)# newword = newword + words[position]newword += words[position]# print(newword)words = words[:position]+words[(position+1):]print("乱序后的单词是:",newword)guess = input("请你猜单词:")"""if guess == right :print("恭喜你,猜对了!")else:print("抱歉,猜错了!")"""while guess != right and guess != "":print("抱歉,猜错了!")guess = input("请你继续猜:")if guess == right :print("恭喜你,猜对了!")iscontinue = input("你是否继续游戏Y/N:")
6,实现两个数的交换(用户输入两个数,存储到内存中的)
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
#方法一:取中间变量
# temp = num1
# num1 = num2
# num2 = temp
#方法二:求和法
# num1 = num1 + num2 # 30 = 10 + 20
# num2 = num1 - num2 # 30 - 20 = 10
# num1 = num1 - num2 # 30 - 10 = 20
# 方法三:异或交换法(python独有 引入了寄存器)
num1,num2 = num2,num1
print("交换后的num1 = %s ,num2 = %s"%(num1,num2))
7,一个自然数与3的和是5的倍数,以3的差是6的倍数,这个自然数最小是多少?(while)
# index = 0
# while True:
for i in range(1000):if (i + 3) % 5 == 0 and (i - 3 ) % 6 == 0:print(i)breaki += 1
8,在400~500之间求一个数,它被2取余1,被5取余是3,被8取余是1,这个数是多少?
for i in range(400,501):if i % 2 == 1 and i % 5 == 3 and i % 8 == 1:print(i)break
9,打印等腰三角形

layer = int(input("请输入要打印的层数:"))
#每一行
for i in range(1,layer+1):#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):print("*",end="")print("")
10,打印实心菱形

layer = int(input("请输入要打印的层数:"))
while layer % 2 == 0:layer = int(input("请重新输入要打印的层数(注意要输入奇数行):"))
#上半部分
for i in range(1,layer // 2 + 2): #上半部分多打印一行 layer // 2 + 1 前闭后开的区间#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):print("*",end="")print("")
#下半部分
for i in range(layer // 2 ,0,-1):#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):print("*",end="")print("")
11,打印空心菱形

layer = int(input("请输入要打印的层数:"))
while layer % 2 == 0:layer = int(input("请重新输入要打印的层数(注意要输入奇数行):"))
#上半部分
for i in range(1,layer // 2 + 2): #上半部分多打印一行 layer // 2 + 1 前闭后开的区间#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1:print("*",end="")else:print(" ",end="")print("")
#下半部分
for i in range(layer // 2 ,0,-1):#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1:print("*",end="")else:print(" ",end="")print("")
12,打印两个组合在一起的三角形

layer = int(input("请输入要打印的层数:"))
while layer % 2 == 0:layer = int(input("请重新输入要打印的层数(注意要输入奇数行):"))
#上半部分
for i in range(1,layer // 2 + 2): #上半部分多打印一行 layer // 2 + 1 前闭后开的区间#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1 or i == layer // 2 + 1:#i == layer // 2 +1判断是不是最后一行print("*",end="")else:print(" ",end="")print("")
#下半部分
for i in range(layer // 2 ,0,-1):#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1:print("*",end="")else:print(" ",end="")print("")
13,打印圣诞树

layer = int(input("请输入要打印的层数:"))
while layer % 2 == 0:layer = int(input("请重新输入要打印的层数(注意要输入奇数行):"))
#上半部分
for i in range(1,layer // 2 + 2): #上半部分多打印一行 layer // 2 + 1 前闭后开的区间#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1 or i == layer // 2 + 1 or j == star_num// 2:#i == layer // 2 + 1判断是不是最后一行 j == star_num // 2判断是不是中间那一列print("*",end="")else:print(" ",end="")print("")
#下半部分
for i in range(layer // 2 ,0,-1):#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == star_num // 2:print("*",end="")else:print(" ",end="")print("")
14,打印以下图形

layer = int(input("请输入要打印的层数:"))
while layer % 2 == 0:layer = int(input("请重新输入要打印的层数(注意要输入奇数行):"))
#上半部分
for i in range(1,layer // 2 + 2): #上半部分多打印一行 layer // 2 + 1 前闭后开的区间#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1 or i == layer // 2 + 1 or j == star_num// 2:#i == layer // 2 + 1判断是不是最后一行 j == star_num // 2判断是不是中间那一列print("*",end="")else:print(" ",end="")print("")
#下半部分
for i in range(layer // 2 ,0,-1):#计算空格的个数sapce_num = layer - ifor j in range(0,sapce_num):print(" ",end="")#计算*的个数star_num = 2 * i - 1for j in range(0,star_num):#判断一下是否是第一个和最后一个if j == 0 or j == star_num - 1 or j == star_num // 2:print("*",end="")else:print(" ",end="")print("")
相关文章:
Python习题详解
练习: 1,计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2,打印直…...
绩效考核利器:Excel报表模板,解锁企业高效员工评价新境界
一、背景与目标 在现今的企业管理中,绩效考核是一项至关重要的任务。它旨在评估员工的工作表现,激励员工积极进取,同时也是制定薪酬、晋升、培训等决策的重要依据。为了满足这一需求,我们设计了一款绩效考核Excel报表模板&#x…...
如何使用Lychee+cpolar搭建本地私人图床并实现远程访问存储图片
文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…...
跨境支付介绍
1、跨境电商定义和分类; 2、国际贸易清结算; 3、跨境支付; 1、跨境电商定义和分类 跨境电商业务简单说就是指不同国家地域的主体通过电子商务进行交易的一种业务模式。同传统的电商不同,交易双方属于不同的国家。因此࿰…...
如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面
文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…...
Cortex-M可以跑Linux操作系统吗?
在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! Cortex-M系列微控制器主要设计…...
日志系统项目(2)项目实现(实用工具类、日志等级类、日志消息类、日志格式化输出类)
前面的文章中我们讲述了日志系统项目的前置知识点,再本文中我们将开始日志项目的细节实现。 日志系统框架设计 本项目实现的是一个多日志器日志系统,主要实现的功能是让程序员能够轻松的将程序运行日志信息落地到指定的位置,且支持同步与异…...
剑指offer面试题19 二叉树的镜像
考察点 树的遍历知识点 题目 分析 我们分析算法题目的思路基本上都是归纳法,即通过举一些普通的例子来推理出算法流程,而画图又是举例子的常用手段,比如针对树或者链表画画图,针对数字类的举一些数字的例子寻找规律,…...
SpringCloud Alibaba 2022之Nacos学习
SpringCloud Alibaba 2022使用 SpringCloud Alibaba 2022需要Spring Boot 3.0以上的版本,同时JDK需要是17及以上的版本。具体的可以看官网的说明。 Spring Cloud Alibaba版本说明 环境搭建 这里搭建的是一个聚合项目。项目结构如下: 父项目的pom.xm…...
js之数组遍历
for 可以用来遍历数组、字符串、类数组、DOM节点,可以更改原数组,可以使用break、continue 跳出循环 return 只能在函数内部使用 for(声明循环变量;判断循环条件;更新循环变量){循环体 }forEach 参数(当前元素&#x…...
极狐GitLab 16.9 重磅发布,快来 pick 你心仪的功能吧~【五】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 沿袭我们的月度发版机制,今天我们正式发布极狐GitL…...
如何在本地部署密码管理软件bitwarden并结合cpolar实现远程同步
文章目录 1. 拉取Bitwarden镜像2. 运行Bitwarden镜像3. 本地访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问Bitwarden7. 固定公网地址8. 浏览器密码托管设置 Bitwarden是一个密码管理器应用程序,适用于在多个设备和浏览器之间同步密码。自建密码管理软件bitwarde…...
DT DAY3 信号和槽
作业: 1> 思维导图 2> 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 btn3 new QPushButton("按钮3",this);btn3->resize(ui->btn2->width(),ui->b…...
Spring、SpringBoot、SpringCloud三者的区别
Spring、Spring Boot 和 Spring Cloud 是构建企业级 Java 应用程序的不同层次的框架和工具。下面详细介绍它们之间的区别: 1. Spring框架: 概述: Spring 是一个全功能的企业级 Java 框架,提供了依赖注入、面向切面编程、事务管理…...
leetcode:46.全排列
1.什么是排列? 有顺序!! 2.树形结构: 使用used数组进行标记取过的元素,一个元素一个元素地进行取值,取完之后将used数组进行标记。 3.代码实现:(循环从i0开始,而不是…...
基于STM32的宠物箱温度湿度监控系统
基于STM32的宠物箱温度湿度监控系统 一、引言 随着人们生活水平的提高,养宠物已经成为越来越多人的选择。宠物作为家庭的一员,其生活环境和健康状况受到了广泛关注。温度和湿度是影响宠物舒适度和健康的重要因素之一。因此,开发一款能够实时监控宠物箱温度和湿度的系统具有…...
《高质量的C/C++编程规范》学习
目录 一、编程规范基础知识 1、头文件 2、程序的板式风格 3、命名规则 二、表达式和基本语句 1、运算符的优先级 2、复合表达式 3、if语句 4、循环语句的效率 5、for循环语句 6、switch语句 三、常量 1、#define和const比较 2、常量定义规则 四、函数设计 1、参…...
客户端订阅服务端事件的机制
一、场景描述 产业大脑平台是一个典型的审核系统,用户发布到平台的信息需要经过审核员审核后生效。 用户发布信息->审核员审核信息->用户信息生效,这一流程可能发生在用户的同一次登录周期内。为了使客户端能实时响应信息的状态变化,…...
pulsar入门介绍
概述 Pulsar 是一个多租户、高性能的服务器到服务器消息传递解决方案。Pulsar 最初由 Yahoo 开发,由 Apache 软件基金会管理。 特点 Pulsar 的主要功能如下: 原生支持 Pulsar 实例中的多个集群,可跨集群无缝地复制消息。非常低的发布和端…...
Leetcode 3047. Find the Largest Area of Square Inside Two Rectangles
Leetcode 3047. Find the Largest Area of Square Inside Two Rectangles 1. 解题思路2. 代码实现 题目链接:3047. Find the Largest Area of Square Inside Two Rectangles 1. 解题思路 这道题倒是没啥特别的思路,直接暴力求解就是了,因此…...
半导体仿真进阶:如何用Silvaco DOPING语句精确控制掺杂分布
半导体仿真进阶:如何用Silvaco DOPING语句精确控制掺杂分布 在半导体器件设计与工艺开发中,精确控制掺杂分布是决定器件性能的关键因素之一。Silvaco TCAD工具链中的DOPING语句,为工程师提供了从简单均匀掺杂到复杂梯度分布的灵活控制能力。…...
信息安全毕设容易的项目选题汇总
0 选题推荐 - 网络与信息安全篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满…...
Web地图开发避坑指南:墨卡托和UTM坐标系到底怎么选?
Web地图开发坐标系选择指南:墨卡托与UTM的深度对比 当我们打开手机地图应用查看附近餐厅时,很少有人会思考背后复杂的坐标系转换过程。作为一名长期从事WebGIS开发的工程师,我见过太多项目因为坐标系选择不当而导致定位偏移、性能下降甚至数据…...
如何突破Windows权限壁垒?系统管理专家的秘密武器
如何突破Windows权限壁垒?系统管理专家的秘密武器 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo 在W…...
四自由度车辆与简支梁桥车桥耦合振动的Matlab实现
车桥耦合振动程序 matlab编程 四自由度车辆与简支梁桥车桥耦合 可提取车体垂直及转动加速度响应以及车轮响应 在交通工程领域,车桥耦合振动的研究对于保障桥梁结构安全以及行车舒适性至关重要。今天咱们就来讲讲如何用Matlab实现四自由度车辆与简支梁桥的车桥耦合振…...
OpenClaw调试技巧:Qwen3-32B任务失败排查手册
OpenClaw调试技巧:Qwen3-32B任务失败排查手册 1. 为什么需要这份手册? 上周我尝试用OpenClaw自动整理项目文档时,遇到了一个诡异现象:同样的任务在白天能顺利完成,深夜运行时却频繁报错。经过72小时的问题追踪&#…...
效率飙升:借助快马平台生成全自动OpenClaw本地部署一体化工具
最近在折腾OpenClaw的本地部署时,发现传统方式实在太费时间了。每次都要手动查文档、拼命令、调环境,经常卡在某个依赖项版本冲突上。后来尝试用InsCode(快马)平台生成了一体化部署工具,效率直接翻倍。这里分享下具体实现思路和优化点&#x…...
OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离
OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离 1. 为什么需要多用户方案? 去年我在家里搭建了一个OpenClaw自动化环境,原本只是个人使用。直到某天家人看到我用语音指令让AI自动整理照片、生成周报后,纷纷要求"共享&quo…...
临近起飞,在哪个平台更容易捡漏特价机票?2026年实测指南
“机票越临近起飞越便宜”——这个说法你一定听过。每逢假期临近,总有人在社交媒体上分享自己“起飞前两小时抢到白菜价机票”的神奇经历。但当你真的想在清明、五一出行前“赌一把”时,往往发现价格不仅没降,反而翻倍了。那么问题来了&#…...
FOC算法避坑指南:克拉克变换的‘等幅值’与‘等功率’到底怎么选?基于STM32的实测对比
FOC算法避坑指南:克拉克变换的‘等幅值’与‘等功率’到底怎么选?基于STM32的实测对比 在STM32平台上实现磁场定向控制(FOC)时,克拉克变换系数的选择往往让工程师陷入两难:究竟该用2/3(等幅值&…...
