python之while语句详解

2023-05-16

python之while语句详解

  • 1.基本介绍
  • 2. while语句练习
    • 2.1 求100以内所有奇数或偶数之和
    • 2.2 求100以内9的倍数之和,以及个数
    • 2.3 输出九九乘法表
    • 2.4 猜数字
    • 2.5 循环嵌套

1.基本介绍

(1)定义:Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
(2)基本形式

while 判断条件(condition):
    执行语句(statements)'''
执行语句可以是单个语句或语句块。
判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。
'''

(3)执行流程

# while语句在执行的时候,先会对while后面的条件表达式进行求值判断
# 如果判断结果为True,则会执行循环体(代码块)
# 循环体执行完毕,继续对条件表达式进行求值判断,以此类推
# 直到判断结果为False 则循环终止 执行else语句
i = 0
while i < 10:
    i += 1
    print(i,'hello')
else:
    print('执行else语句的代码块')

(3)循环控制语句

代码含义
break语句在语句执行过程中终止循环,并且跳出整个循环
continue语句在语句执行过程中终止循环,并且跳到下一次循环
pass语句pass是空语句,是为了保持程序结构的完整性
  • break语句
i = 1
while i < 10:
	if i == 5:
		break #打印出的值只有1,2,3,4.即到5的时候终止循环
	else:
		print(i)
	i += 1

-pass语句

i = 1
while i < 10:
    if i < 5:
			pass 
    else:
        print('输入的值都大于等于5,为%d'%i)  #输出为5-10
        i += 1
  • continue语句
i = 1
while i < 10:
    if i < 5:
        print('输入的值都小于5,为%d'%i)
        i += 1
        continue
    else:
        print('输入的值都大于等于5,为%d'%i)
        i += 1
        continue
    print('1-10输入完毕')

2. while语句练习

2.1 求100以内所有奇数或偶数之和

# 求100以内奇数之和
result = 0 # 定义一个变量 保存结果 
while i < 100:
    i += 1
    # 判断 i 是否是奇数
    if i % 2 != 0:
        result += i # result = result + i
print(result)
# 求100以内偶数之和
i = 0
result = 0
while i < 100:

    i += 2
    result += i
print(result)

2.2 求100以内9的倍数之和,以及个数

# 求100以内9的倍数之和,以及个数
i = 9
r = 0  
j = 0  # 创建一个标记 目的记录循环的次数
while i < 100:
    j += 1 # 标记 + 1
    r += i
    i += 9
print('总和为:',r,'次数',j)

2.3 输出九九乘法表

# 输出九九乘法表
'''
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
........
9*1=9 9*2=18 9*3=27 ......  9*9=81
规律为:i * 1 i*2 ... i*j
'''
for i in range(1,10):
    j = 1
    while j < i + 1:
        print(i,'*',j,'=',i*j,end=" ")
        j += 1
    print()

2.4 猜数字

'''
给用户9次机会 猜1 - 10 个数字内 随机来猜数字。
如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。
最终结果要求用户怎么也猜不对.
'''
import random
i = 1
while i < 10:
    num_aw = random.randint(1, 10)
    num_in = int(input('请输入猜的数字: '))
    if num_aw != num_in:
        print('猜错了! 正确答案为%d。请再次输入,您还有%d次机会'% (num_aw,9-i))
    else:
        num_aw = random.randint(1, 10)
        print('猜错了! 正确答案为%d。请再次输入,您还有%d次机会' % (num_aw, 9 - i))
    i += 1
# 给用户9次机会猜1 - 10个数字。无论用户怎么猜都猜不对

# 1 2 3 4 5 6 7 8 9 10   9次机会
# 思路:1.先拿到用户猜过的数字   2 3 4 5 6 7 8 9 10
#      2.随机一个数字去和用户猜过的数字做比对 如果随机的这个数字没有出现在用户猜过的数字当中。那么这个数字就是最终大答案

import  random

i = 1
number = []
while i < 10:
    num_in = int(input('请输入您猜的数字: '))
    number.append(num_in)
    print('不好意思,猜错了!!')
    i += 1

while True:
    num_right = random(range(0,10))
    if num_right in number:
        continue
    else:
        break

print('正确的号码是:',num_right)

2.5 循环嵌套

i是长度循环
j是宽度循环

'''
打印一个三角形
*
**
***
'''
i = 0
while i < 5:  # i是循环打印4次
    j = 0
    while j < i + 1:
        print('*',end='')
        j += 1
    print()
    i += 1
'''
结果是:
*
**
***
****
*****
'''
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python之while语句详解 的相关文章

  • 使用 pip 或 conda 来管理包? [复制]

    这个问题在这里已经有答案了 我已经使用 matlab 进行机器学习很长一段时间了 最 近切换到 python 并使用其包管理器 pip 安装某些包并成功安装了许多包 几天前 我开始使用 conda 我以前安装的所有软件包都被覆盖 我真的很想
  • 查找公因数以将浮点数列表转换为整数列表

    我有一个来自其他函数的浮点数列表 我所知道的是 在理想世界中存在一个共同因素 可用于将每一项相乘以获得整数列表 可能存在一些小的数值噪声 1e 14 例如 2 3333333333333335 4 666666666666667 1 0 1
  • 如何在基于其他数据帧的数据帧中创建联接?

    我有 2 个数据框 一份包含学生批次详细信息 另一份包含分数 我想加入 2 个数据框 数据框1包含 s1 s2 s3 Stud1 Stud2 Stud3 Stud2 Stud4 Stud1 Stud1 Stud3 Stud4 数据框2包含
  • 使用组合时如何解决循环依赖?

    我遇到了如下所示的情况 其中每个类都需要另一个类 并且它创建了循环依赖关系 我在使用 ctypes 包装一些 C 代码时遇到了这种情况 已经有很多关于这个主题的帖子 但我发现它们没有帮助 我需要一些例子 Module A from B im
  • Windows 7 64位 libsvm 和 python 错误:找不到函数“svm_get_sv_indices”

    我正在使用 Windows 7 64 位 我已经安装了 Python 2 7 3 32 位版本 和 libsvm 3 13 当我尝试启动导入 svmutil 的简单 py 文件时 出现错误 C libsvm 3 13 python gt p
  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • 表单输入框不显示

    我正在尝试使用 Django 显示一个简单的表单输入文本框 我正在亚马逊 AWS 上部署 该网站在不同的服务器 pythonanywhere 上运行良好 但在 AWS 上存在主要问题 具体来说 输入框没有被显示 我使用的模板如下 首页 ht
  • 每当我尝试在 VPS 上使用 Discord 机器人登录时,都会收到“SSL:Certificate_verify_failed”

    我正在将我的机器人从旧的 坏掉的笔记本电脑转移到合适的 VPS 我使用的是较旧的异步版本的 Discord py 0 16 0 因为我在重写之前很长时间就开始研究这个东西了 而且我对 Linux 没有太多经验 因此迁移到 Windows S
  • python:如何检查一行是否为空行

    试图弄清楚如何编写一个 if 循环来检查一行是否为空 该文件有许多字符串 其中之一是一个空行 用于与其他语句分隔开 不是 我认为是一个回车符后面跟着另一个回车符 new statement asdasdasd asdasdasdasd ne
  • 回归模型 statsmodel python

    这更多是一个统计问题 因为代码运行良好 但我正在学习 python 中的回归建模 我在下面使用 statsmodel 编写了一些代码来创建一个简单的线性回归模型 import statsmodels api as sm import num
  • 使用 PyQt 和 matplotlib 在可滚动小部件中显示多个绘图

    由于我没有得到答案this https stackoverflow com questions 12179893 creating a scrollable multiplot with pythons pylab我尝试用 PyQt 解决这
  • 使用 isdigit 表示浮点数?

    a raw input How much is 1 share in that company while not a isdigit print You need to write a number n a raw input How m
  • CTRL-C 在 Python 中的行为有所不同

    I ve recently started learning Python long time Java programmer here and currently in the process of writing some simple
  • 使用 python 更改目录

    我碰巧发现我无法从 python 代码中更改实际目录 我的测试程序如下 from os import system def sh script system bash c s script sh cd home sh pwd 的输出pwd
  • 将日期(系列)列从一个 DataFrame 添加到其他 Pandas,Python

    我正在尝试将日期列从 df1 广播 到 df2 在 df1 中 我有所有用户的姓名及其基本信息 在 df2 中 我有一个用户购买的列表 df1 和 df2 代码 https i stack imgur com sN0uJ png 假设我有一
  • 如何处理 ValueError:索引包含使用 df.pivot 或 pd.pivot_table 的重复条目?

    我有一张显示累计小时数的表格 dataframe values 不同的专家 ID 已完成一系列四项任务 Task1 Tas2 Task3 Tas4 像这样 Input ID Task1 Task2 Task3 Task4 0 10 1 3
  • 将 pi 打印到小数点后几位

    w3resources 面临的挑战之一是将 pi 打印到小数点后 n 位 这是我的代码 from math import pi fraser str pi length of pi number of places raw input En
  • Django中的自动递增值

    我在 django 中有一个表并尝试自动递增它的序列号 在自定义模板中 for 循环用于变量 自定义模板 for i in getodeskview tr td 1 td td i odesk id td td i hours td td
  • python 根据日期创建目录结构

    我使用以下函数根据今天的日期创建目录 usr bin python import time datetime os today datetime date today todaystr today isoformat os mkdir to
  • Django 多个外键,相同的相关名称

    我想创建一个模型 1 其中具有相同其他模型 2 的多个外键 我希望这些外键具有相同的related name因为每个外键将指向 model 2 的不同实例 因为我需要所有外键的一个反向关系 也许一个例子会更明确 class Parent M

随机推荐