Python3循环结构(二) while循环
Python3 while循环
当循环次数无界时通常会使用while循环。
1、使用while循环输出九九乘法表
i=1
while i < 10:
j = 1
while j < i + 1:
#print(j, '×', i, '=', i * j, sep='', end='\t')
print('%d*%d=%d'%(j,i,i*j),sep='', end='\t')
j += 1
print()
i += 1
结果输出:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2、求1+2+……+x的和
i=int(input("i=:"))
sum=0
while i!=0:
sum=sum+i
i=i-1
else:
print("sum=:",sum)
输出:
i=:100
sum=: 5050
3、简单图形打印
i=0
while i<7:
i +=1
j=1
while j < 7-i:
print("*", end=" ")
j += 1
print()
输出结果:
* * * * *
* * * *
* * *
* *
*
倒三角总看着不舒服
i=0
while i<7:
i +=1
j=1
while j < i:
print("*", end=" ")
j += 1
print()
输出:
*
* *
* * *
* * * *
* * * * *
* * * * * *
4、此外,跳出while循环有两种方法:
1.while条件语句为False
2.break
#!/usr/bin/python3
#coding:utf-8
# while条件语句为False,退出循环。
num = 0
while num < 3:
print(num)
num += 1
else:
print("while条件语句为False,退出循环")
# break退出循环
num = 0
while True:
print(num)
num += 1
if num > 2:
print("break退出循环")
break
运行结果:
0
1
2
while条件语句为False,退出循环
0
1
2
break退出循环
Process finished with exit code 0
5、搞个实例:
比如我们需要一个功能,如果一个公司得员工,做的项目超过或等于20个,则他的年终奖加上20000块钱,如果项目超过10个(小于20个)则他的年终奖加上10000块钱,项目不足10个(含10个)则年终奖按默认的发。
#!/usr/bin/python3
#coding:utf-8
money=0
project=int(input("请输出今年做的项目个数:").strip())
if project>=20:
print("恭喜您今天做的项目超过了20个,追加奖金20000元")
elif 10<=project<20:
print("恭喜您今天做的项目超过了10个,追加奖金10000元")
elif 0<=project<10:
print("您今年的年终奖将按照默认的发放")
else:
print("输入有误")
运行:
请输出今年做的项目个数:1
您今年的年终奖将按照默认的发放
请输出今年做的项目个数:11
恭喜您今天做的项目超过了10个,追加奖金10000元
请输出今年做的项目个数:29
恭喜您今天做的项目超过了20个,追加奖金20000元
发现每用一次都得运行一次,很麻烦,搞个while循环
#!/usr/bin/python3
#coding:utf-8
while 1: #1在bool中为True,所以while 1可以正常运行
project=input("请输出今年做的项目个数:").strip()#.strip()去空格
if project =="Q":
print("退出程序")
break
elif 10<=int(project)<20:
print("恭喜您今天做的项目超过了10个,追加奖金10000元")
elif 0<=int(project)<10:
print("您今年的年终奖将按照默认的发放")
elif int(project)>=20:
print("恭喜您今天做的项目超过了20个,追加奖金20000元")
else:
print('输入错误')
运行:
请输出今年做的项目个数:1
您今年的年终奖将按照默认的发放
请输出今年做的项目个数:11
恭喜您今天做的项目超过了10个,追加奖金10000元
请输出今年做的项目个数:21
恭喜您今天做的项目超过了20个,追加奖金20000元
请输出今年做的项目个数:Q
退出程序
PS:这里输入字符串类型的会抛出异常
都是搞安全的上面这个例子替换成安全相关的吧
#!/usr/bin/python3
#coding:utf-8
import os
while 1: #实现一直不停的循环
cmd = input("root>>> ") #终端提示符为>>>
if cmd.lower() in ["exit","quit"]: break #如果检测到用户输入exit,quit就结束程序,Python3 lower() 方法转换字符串中所有大写字符为小写。
elif cmd: os.system(cmd) #如果用户输入有内容,就执行输入的内容
else: pass #如果用户输入为空,则继续显示提示符等待用户输入,这行可以取消,写在这里主要是为了和前面的思路对应,便于阅读。
运行:
root>>> whoami
laptop-f9st6qqt\150
root>>> net user
\\LAPTOP-F9ST6QQT ���û��ʻ�
-------------------------------------------------------------------------------
150 Administrator DefaultAccount
Guest sss WDAGUtilityAccount
����ɹ���ɡ�
root>>> quit
Process finished with exit code 0
6、while里面还有一个continue,continue可以跳过(非退出)本次的循环执行下一次循环,可以用continue做一个简单的生成偶数的代码。
#!/usr/bin/python3
#coding:utf-8
num = 1
while num < 10:
num += 1
if num%2 > 0:
continue
print (num)
运行:
2
4
6
8
10
最后
———热爱网络安全与Python的兄弟们可以关注我的公众号,年前每日一更。
Python3循环结构(二) while循环的更多相关文章
- day_4流程控制之分支结构循环结构及for循环
复习一下昨天的内容 1:变量的命名规范 只能由数字 字母 及下划线组成 不能以数字开头 不能与系统关键字重名 _开头有特殊含义 __开头__结尾的变量是魔法变量 支持大小驼峰 ,但建议使用下划线连接语 ...
- 第十九节:Java基本数据类型,循环结构与分支循环
基本数据类型 Java中的基本数据类型,有8种,在Java中有四种类型,8种基本数据类型. 字节 boolean 布尔型为1/8 byte 字节类型为1 short 短整型为2 char 字符型为2 ...
- 循环结构之for循环
循环结构之for循环(一) 在很多编程语言中都有一种直接.简单的循环,它的一般形式为: 它的执行过程如下: 第一步:执行表达式1,对循环变量做初始化: 第二步:判断表达式2,若其值为真(非0),则执行 ...
- day04逻辑运算符短路、多分支结构(if和switch)、循环结构、while循环
复习 1.运算符和表达式 1)表达式 2)算数运算符 + - * / % 3)关系运算符 > < >= <= == != 4)逻辑运算符 && | ...
- 046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项
046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...
- 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...
- 043 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 05 do-while循环介绍及应用
043 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 05 do-while循环介绍及应用 本文知识点:do-while循环介绍及应用 do-while循 ...
- 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程
040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...
- java6循环结构二
public class jh_01_回顾与作业点评 { public static void main(String[] args) { int val = 12345; System.out.pr ...
- Java历程-初学篇 Day07 循环结构2 for循环
一,格式 for(赋值语句//为循环变量赋初值;条件语句//循环结构的循环条件;赋值语句//迭代,修改循环变量的值){ //循环体; } 二,简单举例 for(int i=1;i<=10;i++ ...
随机推荐
- JavaDoc文档的介绍及生成方法
javaDoc命令是用来生成自己的API文档的 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @return 返回值情况 ...
- Springboot 在项目启动时将数据缓存到全局变量
有写字典数据不会频繁更新,但是会频繁查询,想要减少数据库链接次数,把内容缓存到项目的全局变量中,提高方法查询速度 import javax.annotation.PostConstruct; impo ...
- Vuex:让状态管理不再头疼的“管家”
如果你正在开发一个 Vue.js 应用程序,但发现自己被各种组件之间的状态共享问题搞得焦头烂额,那么 Vuex 就是你需要的"超级管家".Vuex 是专门为 Vue.js 设计的状 ...
- ABC391D题解
前置知识: map priority_queue 思路 考虑预处理每一个图块在第几秒后会被删除. 如何预处理?我使用了一种非常暴力的做法,首先处理的过程肯定是从下往上的,于是每一个图块能被删除一定是它 ...
- CTF-CRYPTO-ECC(1)
CTF-CRYPTO-ECC(1) 椭圆加密 1.简介 椭圆曲线密码学(Elliptic curve cryptography),简称 ECC,和RSA.ElGamel 算法等类似,是一种公开秘钥加密 ...
- allure 报告空白
在pycharm 运行py文件后生成的报告内容空白: 尝试方法 替换allure版本号---不好用 用命令生成.html测试报告,再以浏览器形式打开 ** ** 命令 allure generate ...
- PyCharm一直indexing,且永不停止。
- 记vue修改数组属性,dom不发生变化的问题
目录: 目录 目录: 开篇 正确的姿势 为什么 $set 开篇 今天在写vue的时候,出现了一个以前可能没遇到的问题.我利用一个数组记录列表下按钮的启用.禁用状态,但我点击某个列表项按钮后,会修改当前 ...
- [tldr] GO泛型编程
最少的内容简述如何在GO中使用泛型编程 函数泛型 func f[T any](s Set[T]) { } 在函数声明的时候添加一个[]作为泛型的说明, 在使用的时候是可以自动推断 很多时候, any的 ...
- 超级详细的mysql数据库安装指南
https://zhuanlan.zhihu.com/p/37152572 2,073 人赞同了该文章 如果你的电脑是mac,参考社群会员 @奔跑的土豆 的分享: mac下mysql的安装步骤 227 ...