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. 解题思路 这道题倒是没啥特别的思路,直接暴力求解就是了,因此…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法
用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...
