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++ ...
随机推荐
- Linux Bridge和Tap关系详解
本文分享自天翼云开发者社区<Linux Bridge和Tap关系详解>,作者:x****n Linux Bridge介绍 Bridge(桥)是Linux上用来做TCP/IP二层协议交换的设 ...
- vim技巧:设置编码格式,批量注释(待续其他功能)
navicate导出的sql由于是win平台所有模式都是dos所以上传到服务器需要更改模式类型为unix :set ff 查看当前文本的模式类型,一般为dos,unixdos 代表windows转出类 ...
- 烟草行业如何用低代码+ BI 实现数字化转型?
在数字经济的大潮中,烟草行业正迎来重大的发展契机.国家层面的政策引导和战略规划为行业的数字化转型提供了明确的方向.<数字中国>的愿景逐步变为现实,国家信息化发展战略的深入推进,为烟草行业的 ...
- [HDU5603] the soldier of love 题解
考虑到正向求解困难,于是正难则反. 那么实际上对于 \(a_i\) 和 \(a_{i+1}\) 来说,它们给答案的贡献就是满足 \(l_j>a_i,r_j<a_{i+1}\) 的区间数量. ...
- 解密ZAB协议:Zookeeper一致性的核心实现
一致性问题 设计一个分布式系统必定会遇到一个问题-- 因为分区容忍性(partition tolerance)的存在,就必定要求我们需要在系统可用性(availability)和数据一致性(consi ...
- 质疑了ChatGPT,结果他居然...
小编其实是想挑战下ChatGPT,指出目前像他这种AI,通过如此高维向量的方式代表一个事物特征,是算力上的巨大浪费. 质疑这种方式可能不是最优解,冥冥之中应该有更好的方式. 结果发现他居然大方承认,而 ...
- c# 使用 Read 读取数据块
class Program { static void Main(string[] args) { Stream s = new MemoryStream(); for (int i = 0; i & ...
- ABAQUS弹塑性分析
1. 弹塑性分析的主要问题 1.1 elastic-plastic deform behavior abaqus 默认的塑性表现行为是金属材料经典塑性理论,采用mises屈服面定义各向同性屈服. 一般 ...
- go的异常抛出
defer func() { if r := recover(); r != nil { fmt.Println("Recovered:", r) } }() 在任何涉及到数组取值 ...
- 【Bug记录】[@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported.
[Bug记录][@vue/compiler-sfc] defineProps is a compiler macro and no longer needs to be imported. Vue3项 ...