for和 while循环

  当你知道循环次数的话就用for循环,

  不知道的时候用while循环,while必须要有结束条件

  a +=1  等于 a =a+1

for i in  xxx:

i:是一个变量,是把xxx里面的某一个值取出来存到i里面

xxx:可以是序列(序列包括:列表、元祖、字符串)

  还可以是可迭代对象

>>> a = "abc"
>>> for i in a:
...     print(i)
...
a
b
c
>>> a = 0
>>> while a<=5:
...     print(a)
...    
a+=1
...
0
1
2
3
4
5
>>>

#调试技巧 例题 打印出每一步的结果

>>> result =0
>>> for i in [1,2,3,4]:
...     print("i的取值",i)
...     result+=i
...    
print("计算结果",result)
...
i的取值 1
计算结果 1
i的取值 2
计算结果 3
i的取值 3
计算结果 6
i的取值 4
计算结果 10
>>> print(result)
10
>>>

例:

题目:[1,2,3,4,5,7]你输入一个数字,判断一下是否在这个list中,执行3次这个逻辑。

算法:

1、循环3次 (for)

for i in range(3)

2、输入一个数字(input),存到某个变量里

user_num
=int(input("请输入一个数字:"))

3、判断这个数字在不在[1,2,3,4,5,7]

desc_list =[1,2,3,4,5,7]

4、如果在,打印一下;不再也打印一下。

if user_num in desc_list:

  print("%s 在" %user_num)

else:

  print("%s 不在" %user_num )

实现:

>>> desc_list
=[1,2,3,4,5,7]
>>> for i in range(3):
...     user_num =int(input("请输入一个数字:"))
...     if user_num in desc_list:
...         print("%s 在" %user_num)#模板字符串表达方式 "%s a
number" %1   '1 a number'
...     else:
...         print("%s 不在" %user_num)
...
请输入一个数字:5
5 在
请输入一个数字:2
2 在
请输入一个数字:1
1 在
>>>

break:彻底结束循环
continue:跳出本次循环,执行下一次
>>> for i in range(10):
...     if i==3:
...      
  break
...
>>>
for i in range(10):
...     if i==3:
...         break
...    
print(i)
...
0
1
2
>>> for i in range(10):
...     if i==3:
...      
  continue
...     print(i)
...
0
1
2
4
5
6
7
8
9
>>>
 
 
 

while 条件:只要条件是True
代码块会永远执行

死循环应用场景:

1 服务器端:一般死循环

2 你也不知道循环多少次的时候就要用到死循环

练习题:

死循环:

  用户输入数字,判断是奇数还是偶数

  当输入的数字是100的时候,结束第循环

>>> while 1:
...     user_num =int(input("请输入一个数字:"))
...     if user_num%2==0:
...         print("%s 是偶数" %user_num)
...     else:
...        
print("%s 是奇数" %user_num)
...     if
user_num==100:
...         break
...
请输入一个数字:2
2 是偶数
请输入一个数字:3
3 是奇数
请输入一个数字:4
4 是偶数
请输入一个数字:5
5 是奇数
请输入一个数字:6
6 是偶数
请输入一个数字:100
100 是偶数
>>>

练习题:

输入三种字母:e、a、r

如果等于e,那么退出循环

如果输入a,执行continue

如果输入r,那么在读取一次字母,并打印

用死循环实现

>>> while 1:
...     date = input("输入一个字母:")
...     if date == 'r':
...         date = input("输入一个字母:")
...     if date == 'a':
...         continue
...  
  if date == 'e':
...         break
...
输入一个字母:d
输入一个字母:d
输入一个字母:f
输入一个字母:g
输入一个字母:h
输入一个字母:r
输入一个字母:a
输入一个字母:g
输入一个字母:e

if...elif...else...

if可以单独存在,elif和else不可以单独存在会报错

>>> if len(str)==9:
...     print("等于9")
... elif len(str)<9:
...     print("小与9")
... elif len(str)>9:
...     print("大于9")
... else:
...     print("其他")
...
等于9
>>>

for 和while循环 if else的更多相关文章

  1. 【.net 深呼吸】细说CodeDom(8):分支与循环

    有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...

  2. Recurrent Neural Network系列1--RNN(循环神经网络)概述

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...

  3. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  4. 模仿Linux内核kfifo实现的循环缓存

    想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...

  5. 【JS基础】循环

    for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...

  6. 【python之路4】循环语句之while

    1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. JavaScript单线程和浏览器事件循环简述

    JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...

  9. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  10. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

随机推荐

  1. gtest 三种事件机制

    前言: 1.首先说明gtest中事件的结构层次: 测试程序:一个测试程序只有一个main函数,也可以说是一个可执行程序是一个测试程序.该级别的事件机制会在程序的开始和结束执行. 测试套件:代表一个测试 ...

  2. table动态增加删除

    基于网上代码修改实现动态添加表数据行 <!DOCTYPE html> <html lang="cn"> <html> <head> ...

  3. 导出excel,并将数据返回给前端(包含权限判断)

    一.先写导出按钮接口 1.此接口对用户权限进行判断 2.此接口将前端的参数组合拼凑到下一个接口的url中去,用于条件筛选 3.用户有权限的情况下将用户的权限信息保存到redis中去,并将token写到 ...

  4. Adventure 魔幻历险

    发售年份 1979 平台 VCS 开发商 雅达利(Atari) 类型 冒险 https://www.youtube.com/watch?v=YS-HYWRdb2g

  5. java 重载、重写、重构的区别

    1.重载 构造函数是一种特殊的函数,使用构造函数的目的是用来在对象实例化时初始化对象的成员变量.由于构造函数名字必须与类名一致,我们想用不同的方式实例化对象时,必须允许不同的构造方法同时存在,这就用到 ...

  6. 廖雪峰Git入门教程

    廖雪峰Git入门教程  2018-05-24 23:05:11     0     0     0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...

  7. shell脚本,如果文件中的第一列有相同的,就把相同的那些行的其他字段相加

    命令:awk '{a[$1]+=$2}{b[$1]+=$3}END{for(i in a){print i,a[i],b[i]}}'

  8. 第四节 Python基础之数据类型(集合)

    在学习本节之前,我们先对数据类型做一个补充,也就是数据类型的分类: 按照可变和不可变来分: 可变:列表,字典 不可变:数字,字符串,元组 按照访问顺序来分: 顺序访问:字符串,列表,元组 映射的方式访 ...

  9. Emoji表情代码大全

    Name   Unified DoCoMo KDDI Softbank Google Wechat   black sun with rays U+2600 U+E63E U+E488 U+E04A ...

  10. Java 工程师成神之路 | 2019正式版

    本文为转载,原文见以下链接:https://mp.weixin.qq.com/s/4AMzq87V6eW3YPgE0mCdSw 1 基础篇 01 面向对象 → 什么是面向对象 面向对象.面向过程 面向 ...