python基础_for循环和while循环及作业讲解

2023-11-15

# while 循环
# 格式:
# 打印100遍hello,python
#     限定:100次--条件:结束的条件
# 1.2.3.4.5.6.7............100
#
# 一旦用了while循环,那就一定需要考虑让条件不成立的场景
# 代表次数
count = 1
while count < 101:
     # 条件满足才会执行的代码
     print('hello,python')
     # 非常重要,一定要有个操作,在某些时候能够使条件不成立!
     count += 1

# while循环不会指定循环次数

count = 1
nums = input('输入次数:')     # 输入的次数
while count <= int(nums):     # 限定的次数
    print(count)
    count += 1       # 条件满足才会执行的代码
    print('hello,python')

# 避免死循环:
# 1.是循环条件不成立
# 2.在循环中,达到其他条件,退出循环
#
# 死循环的处理:break/continue
# break :   条件满足终止当前循环
count = 1
nums = input('输入次数:')     # 输入的次数
while count <= 100:     # 限定的次数
    print(count)
    print('hello,python')
    # 在循环内部,如果还有其他条件,如果满足的化,直接退出循环
    if count ==50:
        print('已经50次了,再见')
        break   # 直接退出循环
    count += 1  # 条件满足才会执行的代码

# # continue:中止当前本轮的循环,开启下一轮循环
count = 1
# nums = input('输入次数:')     # 输入的次数
while count <= 10:     # 限定的次数
    print(count)
    count += 1  # 条件满足才会执行的代码
    if count == 2:
        continue   # 跳过当前循环,进入下一个循环
    print('hello,python')
    # 在循环内部,如果还有其他条件,如果满足的化,直接退出循环
    # if count ==5:
    #     print('已经50次了,再见')
    #     break   # 直接退出循环
#
# # break和continue的区别:辞职(break)和请假(continue)的区别

# print(*************************--*******************************************)

# 重点掌握:for循环
# for循环
# 遍历:从头到尾,每一个成员访问一遍。
# 成员:列表和字典--最常用的

# 列表的遍历
list_p = ['mr 张','换你','madao','吴亦凡','罗志']
'''
格式:
for 变量 in 列表:
    得到一个成员时,都回去执行的代码 

在这个列表中,去取每一个成员,赋值给变量
变量 = 第一个成员
变量 = 第二个成员
变量 = 第三个成员
变量 = 第四个成员

循环的次数=列表的长度
'''
# 遍历列表的值
for item in list_p:   # 获取所有的列表的值
    print(item)       # 打印每一个成员
    if item == '吴亦凡':  # 如果获取到指定的值
        break           # 就终止循环


for item in list_p:   # 获取所有的列表的值
    if item == '吴亦凡':  # 如果获取到指定的值
        continue          # 不会打印这一行的值,跳过进入下一轮
    print(item)  # 打印每一个成员


# 通过列表的索引来遍历:
# range:内置函数,功能:生产整数字序,有三种类型:
# 起点:默认是0,
# 终点:自定
# 步长:默认是1
# 含起始,不含终点

# 1.range(n):默认生成一个0到n-1的整数序列
# range(5)[0,1,2,3,4]

# 2.range(n,m):默认生成一个0到m-1的整数序列
# range(1,5)[1,2,3,4]

# 3.range(n,m,k):相比如其他函数的for循环。n表示初始值,m表示结束值,k表示步长。
#                   会生成一个初始值为n,结束值为m,递减或递增的整数序列
# range(1,10,2)[1,3,5,7,9]


# 遍历列表的索引
# 获取列表的长度为:6
# 要遍历的索引为:0.1.2.3.4.5
for index in range(len(list_p)):
    print(index)     # 打印下标
    print(list_p[index])     # 打印值


# 字典的遍历
person_info = {'sex':'男','tzh':'好看,帅,有钱入','age':30}

# 第一种通过遍历键名:
for key in person_info.keys():
    print(key)
    print(person_info[key])

# 第二种通过遍历键值对:
for key,value in person_info.items():
    print(key,value)

# 双重for循环
# 1.想清楚,外层是什么,内层是什么
# 2.在编写双重for
# 3.根据输出内容,调整语句逻辑

'''
输出一下图形
1
1   2
1   2   3
1   2   3   4
第一行:输出1   range(1,2)      行数+1
第二行:输出1,2     range(1,3)
第三行:输出1,2,3     range(1,4)
第四行:输出1,2,3,4       range(1,5)
'''
for index in range(1,5):
    print('第{}行:'.format(index))
    for sub in range(1,index+1):
        print(sub,end=' ')     # end=''   不换行的意思
    print('')

# 课后作业

# 1、一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,
#
# 如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或20%)和最终价格。
print('第一题************************************************')
price = int(input('这件商品的价格是:'))    # 输入有个价格
if 50 <= price <= 100:        # 条件1是购买金额50-100元(包含50元和100元)之间
    price = 0.9 * price     # 折旧后的价格
    # print('这边可以给你打10%的折扣,给你打完折扣价是:',price,'谢谢惠顾!')     # 输出满足条件1的   第一种方法
    print('这边可以给你打10%的折扣,给你打完折扣价是:{:.2f}'.format(price))      # 第二种方法
elif price > 100:
    price = 0.8 * price
    # print('这边可以给你打20%的折扣,给你打完折扣价是:',price,'谢谢惠顾!' )     # 输出满足条件2的    第一种方法
    print('这边可以给你打20%的折扣,给你打完折扣价是:{:.2f}'.format(price))       # 第二种方法
else:
    print('你不满足折扣的价格,请继续购买哈!')      # 不满足条件1执行的条件

# 2 判断是否为闰年
# 提示:
# 输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)
# 如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”
# 什么是闰年,请自行了解(需求文档没有解释)
#
# 请输入一个年份
# 条件1:不能够被100整除且能够被4整除
# 条件2:够被100整除且能够被400整除
print('第二题************************************************')
year = int(input('请输入一个年份:'))     # 输入一个整数的年份
if (year % 100 != 0 and year % 4 == 0) or (year % 100 == 0 and year % 400 == 0):   # 条件1和条件2
    print('你输入的' + str(year) + '是闰年')     # 能够被满足则是输出这个
else:                                           # 反之
    print('你输入的' + str(year) + '不是闰年')   # 不能够被满足则是输出这个

# 3.求三个整数中的最大值
# 提示:定义 3 个变量
print('第三题************************************************')
numb1 = input('请输入第一个数:')  # 输入第一个变量
numb2 = input('请输入第二个数:')  # 输入第二个变量
numb3 = input('请输入第三个数:')  # 输入第三个变量
max = 0       # 假设最大值max为0
if numb1 > numb2:     # 先进2个数值得比较
    max = numb1       # 最大值为numb1
else:                 # 反之
    max = numb2       # 最大值为numb2
if max > numb3:       # 比较max与剩余的值进行比较
    print('最大值为'+ str(max))    # 最大值为max则打印这个
else:                 # 反之
    print('最大值为' + str(numb3))  # 最大值为numb3则打印这个


# 4,  使用for打印九九乘法表
# 提示:输出九九乘法表,格式如下:(每项数据之间空一个Tab键,可以使用"\t")
print('第四题**********************************************')
for index in range(1,10):       # 取值范围为(1-9)
    for numb in range(1,index+1):    # 每次循环需要加1
        print('{}*{} = {}\t'.format(index, numb, index*numb),end = ' ')     # 使用format函数来输出
    print('')


# 进阶作业
'''
使用循环完成剪刀石头布游戏,提示用户输入要出的拳 :石头(1)/剪刀(2)/布(3)/退出(4)
电脑随机出拳比较胜负,显示用户胜、负还是平局。运行如下图所示:

提示:电脑随机出拳
使用随机数,首先需要导入随机数的模块 —— “工具包”
import random
导入模块后,可以直接在 模块名称 后面敲一个"."然后按 Tab键,会提示该模块中包含的所有函数
random.randint(a, b),返回[a, b]之间的整数,包含a和b
'''
print('第一题*********************************************************************************************')
import random    # 导入随机数的模块
while True:
    player = int(input('请你输入你要的选项 石头(1)/剪刀(2)/布(3)/退出(4):'))    # 输入选择的选项
    if player == 4:              # 如果玩家输入4 ,满足条件,执行这个
        print('游戏退出')
        break                    # 退出当前循环
    computer = random.randint(1,3)          # 电脑随机在1-3之间选择
    if ((player == 3 and computer == 1)     # 如果玩家出布(3)和电脑出石头(1)  玩家胜利
            or (player == 1 and computer == 2)   # 如果玩家出石头(1)和电脑出剪刀(2) 玩家胜利
            or (player == 2 and computer == 3)):   # 如果玩家出剪刀(2)和电脑出布(3)   玩家胜利
        print('玩家选择的出拳是{},电脑出拳的{},玩家胜利!'.format(player, computer))   # 使用format函数打印出玩家胜利
    elif player == computer:     # 如果玩家和电脑出的一样,则是平局
        print('玩家选择的出拳是{},电脑出拳的{},打成平局了!'.format(player, computer))  # 使用format函数打印出平局
    else:      # 反之
        print('玩家选择的出拳是{},电脑出拳的{},玩家失败了!'.format(player, computer))   # 使用format函数打印出玩家失败了
print('游戏结束')


# 2、编写如下程序
# a.用户输入1-7七个数字,分别代表周一到周日
# b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或7,打印输出“周末”
# c.如果输入0,退出循环
# d.输入其他内容,提示:“输入有误,请重新输入!”
# 提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况。
print('第2题*********************************************************************************************')
my_days = ["周一", "周二", "周三", "周四", "周五", "周六", "周末"]   # 定义一个列表

while True:
    num = input("请输入0~7范围内的数字:")        # 输入数字
    if num in list("1234567"):       # 如果输入的值在列表当中,满足条件1,执行下一步
         print("今天是{}!".format(my_days[int(num)-1]))   # 使用format函数
    elif num == "0":        # 输入的值等于0,满足条件2
         print("程序退出!")      # 打印
         break          # 退出当前循环
    else:                   # 反之,输入不属于0-7范围的数字,执行条件3
         print("输入有误,请重新输入!")     # 打印


# 3、冒泡排序(不要求提交,面试之前背熟)
# 使用循环实现排序算法(冒泡,选择等算法选择一个,请自行了解。)
# 提示:利用for循环,完成a=[1,7,4,89,34,2]的排序(小的数字排前面,大的排后面),不能使用sort、sorted等内置函数或方法
a =[1,7,4,89,34,2]
for k in range(1,len(a)):
    for m in range(0,len(a)-k):
        if a[m] > a[m+1]:
            a[m],a[m+1] = a[m+1],a[m]
print(a)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python基础_for循环和while循环及作业讲解 的相关文章

  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • Python getstatusoutput 替换不返回完整输出

    我发现了这个很棒的替代品getstatusoutput Python 2 中的函数在 Unix 和 Windows 上同样有效 不过我觉得这个方法有问题output被构建 它只返回输出的最后一行 但我不明白为什么 任何帮助都是极好的 def
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • “隐藏”内置类对象、函数、代码等的名称和性质[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很好奇模块中存在的类builtins无法直接访问的 例如 type lambda 0 name function of module
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do

随机推荐

  • 训练yolo时报错RuntimeError: result type Float can‘t be cast to the desired output type __int64个人解决方案

    运行YOLOv5 6 1和yolor的时候 训练都没能正常运行 均出现了如下错误 AutoAnchor 5 00 anchors target 1 000 Best Possible Recall BPR Current anchors a
  • QT入门Buttons之QToolButton

    目录 一 界面布局介绍 1 布局器中的位置及使用 2 控件的界面属性 2 1对象名称和大小设置 2 2对象文本设置和鼠标箭头更改 2 3 扁平化样式 二 属性功能介绍 1 显示箭头属性 2 按钮风格 3 添加默认action属性 三 Dem
  • 第一次护网HW心得

    以下内容为本人参加第一次护网HW的心得 纯属个人体会 大家看着玩就好 文章目录 背景 实战理解 背景 我开始接触实战 是从某省的第五届网络空间安全竞赛开始的 我参加过第四届比赛 是标准的CTF形式 初赛线上做题 决赛线下AWD攻防 但第五届
  • TOOLS_Pandas groupby 分组聚合常用方法使用示例

    TOOLS Pandas groupby 分组聚合常用方法使用示例 根据给定列中的不同值对数据点 行 进行分组 分组后的数据可以计算生成组的聚合值 注意 下文仅是常用的一些示例 实际操作时可组合使用的方式要多得多 import pandas
  • selenium之Chromedriver更换geckodriver遇到的问题

    记录一下自己有谷歌驱动更换到火狐驱动遇到的问题 因为之前都是使用谷歌驱动 对于火狐了解甚少 几乎就没有用过 尴尬 早上醒来使用谷歌驱动打开目标网站的时候竟然是显示空白网页 刚开始还没有在意 以为是谷歌浏览器自动更新了 简单的以为更新一下最新
  • Picgo的gitee图床简略设置及gitee图片仓库无法使用解决方案

    一 Typora Picgo实现图片上传生成在线链接 Typora是大家耳熟能详的一个文档编写工具 但是我们使用Typora去插入图片时 都是使用的本地缓存图片 如果我们需要将文档发给别人或者电脑清楚缓存以后 就会出现缺失图片的尴尬现象 所
  • 阿里云无影云电脑是干什么用的?五大使用场景

    阿里云无影云电脑是一种易用 安全 高效的云上桌面服务 阿里云无影云电脑可用于高数据安全管控 高性能计算等要求的金融 设计 视频 教育等领域 适用于多种办公场景 如远程办公 多分支机构 安全OA 短期使用 专业制图等 阿里云百科来简单分享什么
  • 解决tensorflow 2.0 里的tensorflow..contrib.tensorboard.plugins import projector报错

    题主尝试用v1 api 即 错误的代码如下 from tensorflow compat v1 contrib tensorboard plugins import projector 报错没有contrib这个模块 原因是tensorfl
  • 二叉排序树的删除,全网最详解析

    解析都在注释中 博主习惯打代码给出详细注释 这里就不做过多阐述 注释看不懂的话 直接留言 二叉排序树的结构声明 二叉排序树的创建 二叉排序树的节点删除 解析都在注释中 博主习惯打代码给出详细注释 这里就不做过多阐述 注释看不懂的话 直接留言
  • Maven执行命令时报:has elapsed or updates are forced and ‘parent.relativePath‘ points at wrong local

    子模块打包时 依赖父模块的版本号是变量时 会报以下错误 parent relativePath points ERROR Non resolvable parent POM for xxxx xxx version xxx pom 1 0
  • 杜利特尔 (Doolittle)矩阵分解法求线性方程组的解

    简介 若方阵 A 可以分解为一个下三角矩阵 L 和一个上三角矩阵 U的乘积 即 A LU 则这种分解称为 A 的一种三角分解或 LU分解 如果 L 为单位下三角矩阵 则称为杜利特尔 Doolittle 以四阶矩阵为例 可分解为以下形式 实例
  • java归并两个无序链表并排序_Java代码归并两个已排好序的链表

    题目是 归并两个已排好序的链表 假设链表是从小到大递增排序的 算法思路就是 我的解法就是重新建立一个新的链表 将归并好的存放进去 一共有三种情况 假设俩个链表为链表l1和链表l2 1 第一种情况就是l1和l2同时不为空 2 l1为空 l2不
  • day-30 代码随想录算法训练营 回溯part06

    332 重新安排行程 思路 使用unordered map记录起点机场对应到达机场 内部使用map记录到达机场的次数 因为map会进行排序 可以求出最小路径 class Solution public vector
  • SpringCloud- Hystrix 熔断器

    Hystrix hi si ju ke si 概述 Hystix 是 Netflix 开源的一个延迟和容错库 用于隔离访问远程服务 第三方库 防止出现级联失败 雪崩 雪崩 一个服务失败 导致整条链路的服务都失败的情形 Hystix 主要功能
  • 编译原理——自顶向下分析中FOLLOW集的计算

    一 FOLLOW集的定义 对于非终结符号A FOLLOW A 被定义为 可能在某些句型中紧跟在A右边的终结符号的集合 为什么说是可能 因为在一些推导出来的文法符号串中 该非终结符号A可能在最右边 比如 A gt TA 如果存在S gt Aa
  • 用快慢指针判断是否有环

    1 用快慢指针判断是否有环 代码 bool hasCycle struct ListNode head write code here struct ListNode f head struct ListNode s head while
  • uniapp部分面试题汇总

    1 谈谈你对uni app的理解 uni app是一个使用Vue js开发所有前端应用的框架 开发者编写一套代码 可以发布到IOS Android Web 响应式 以及各种小程序 快应用等多个平台 uniapp真正做到一套代码多端发行 支持
  • Python中通过requests模块发送POST请求.

    博客核心内容 1 Python中通过requests模块发送POST请求 我们通常情况下提交数据一般有两种方式 Ajax和Form表单的方式 如果request post里面没有值 我们就到request body里面去拿 代码示例 服务端
  • ST芯片涨价后,你是如何做的?

    芯片涨价也2年多了 今年 2022年 年后又一次涨价 硬件工程师们该何去何从 分享一下自己的经历 给大家一些参考 目录 前言 一 来势汹汹的芯片涨价 二 芯片方案替换 三 对未来的准备 结语 前言 前面所有的博文 都是技术类型的 作为一名多
  • python基础_for循环和while循环及作业讲解

    while 循环 格式 打印100遍hello python 限定 100次 条件 结束的条件 1 2 3 4 5 6 7 100 一旦用了while循环 那就一定需要考虑让条件不成立的场景 代表次数 count 1 while count