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 - 2
n -= 2
print(sum)

2,打印直角三角形

*
**
***
****
*****
******
layer = int(input("请输入要打印的层数:")) #layer=3
index = 1
while index <= layer: #layer=3
#打印*
j = 1
while j <= index: #index = 1 2 3
print("*",end="")
j += 1
print() #换行
index += 1 # index = 2 3 4

3,打印九九乘法表

i = 1
while i <= 9:
j = 1
while j <= i:
print("%s * %s = %s "%(j,i,(i*j)),end="")
j += 1
print() #换行
i += 1

优化:

i = 1
while i <= 9:
j = 1
while j <= i:
res = i * j
if res < 10:
print("%s * %s = %s "%(j,i,(i*j)),end="")
else:
print("%s * %s = %s "%(j,i,(i*j)),end="")
j += 1
print() #换行
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 = 2
while i < num:
if num % i == 0:
print("这个数不是质数")
break
i += 1
else:
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)
break
i += 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for j in range(0,star_num):
print("*",end="")
print("")
#下半部分
for i in range(layer // 2 ,0,-1):
#计算空格的个数
sapce_num = layer - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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 - i
for j in range(0,sapce_num):
print(" ",end="")
#计算*的个数
star_num = 2 * i - 1
for 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("")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484259.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov5-tracking-xxxsort yolov5融合六种跟踪算法(二)--目标识别

本次开源计划主要针对大学生无人机相关竞赛的视觉算法开发。 开源代码仓库链接&#xff1a;https://github.com/zzhmx/yolov5-tracking-xxxsort.git 先按照之前的博客配置好环境&#xff1a; yolov5-tracking-xxxsort yolov5融合六种跟踪算法&#xff08;一&#xff09;–环境配…

linux上安装bluesky的步骤

1、设备上安装的操作系统如下&#xff1a; orangepiorangepi5b:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy 2、在用户家目录下创建一个目录miniconda3目录&a…

第十篇:node处理404和服务器错误

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录</

Excel之index、MATCH面试题、VLOOKUP函数,

VLOOKUP() 在表格的首列查找指定的数值&#xff0c;并返回表格当前行中指定列处的数值。 结构&#xff1a;VLOOKUP(查找值,查找区域,列序数,匹配条件) 解释&#xff1a;VLOOKUP(找谁,在哪里找,第几列,0或1) 1.目的&#xff1a;根据【产品】查找【销量】 公式&#xff1a;V…

Ansible playbook 剧本部署WEB NFS rsync sersync(及时监控)架构

ansible playbook剧本介绍&#xff1a; playbook 是ansible用于配置&#xff0c;部署和管理被节点的剧本 由一个或多个模块组成&#xff0c;完成统一的目的&#xff0c;实现自动化操作 剧本编写需遵循yaml语法 yaml的三要素&#xff1a; 缩进&#xff1a;两个字符&#xff0c;默…

行人重识别综述——下

上一篇 https://blog.csdn.net/m0_60388871/article/details/136177398?spm1001.2014.3001.5501 3 OPEN-WORLD PERSON RE-IDENTIFICATION 3.1 Heterogeneous Re-ID 基于深度的Re-ID&#xff1a; 利用深度图像捕捉人体形状和骨骼信息&#xff0c;这对于在光照变化或衣物更换环…

苹果iPad通过Code APP应用实现SSH连接服务器远程进行开发

文章目录 1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 本文主要介绍开源iPad应用IDE Code App 如何下载安装&#xff0c;并…

力扣_字符串11—实现前缀树(字典树、Trie树)

题目 方法 对于每一个节点&#xff0c;初始化一个长度为26的数组&#xff0c;用来存储对应字母子节点的地址对于每一个节点&#xff0c;初始化一个 b o o l bool bool 变量用来表示是否为叶子节点 代码 class Trie { private:vector<Trie*> children vector<Trie…

Three.js初学(2)

Three.js初学&#xff08;2&#xff09; 三维坐标系的认识1. 辅助坐标系 光源的影响1. 光材质的影响2. 光源介绍点光源环境光平行光 3. 光源衰减/位置 相机控件1. 引入扩展库2. 使用方法 三维坐标系的认识 这一章节的主要作用是加强自我对三维坐标空间的认识。 1. 辅助坐标系…

MySQL 8.0.36 WorkBench安装

一、下载安装包 百度网盘链接&#xff1a;点击此处下载安装文件 提取码&#xff1a;hhwz 二、安装&#xff0c;跟着图片来 选择Custom,然后点Next 顺着左边框每一项的加号打开到每一个项的最底层&#xff0c;点击选中最底层的项目&#xff0c;再点击传过去右边的绿色箭头&a…

springboot207基于springboot的实习管理系统

实习管理系统的设计与实现 摘要 近年来&#xff0c;信息化管理行业的不断兴起&#xff0c;使得人们的日常生活越来越离不开计算机和互联网技术。首先&#xff0c;根据收集到的用户需求分析&#xff0c;对设计系统有一个初步的认识与了解&#xff0c;确定实习管理系统的总体功…

[WebDav] WebDav基础知识

文章目录 什么是WebDavWebDav常用命令WebDav常用命令的测试&#xff08;代码&#xff09;PROPFIND 方法测试PUT 方法测试GET 方法测试PROPPATCH方法 WebDav缓存Cache-ControlEtag测试 强制重新验证不需要缓存 WebDav的锁WebDav的状态码WebDav身份验证WebDav版本控制WebDav和FTP…