1、guess_age优化版v1.py

 #coding=utf-8
age = 22 for i in range(10):
if i < 3:
guess_num = int(input('input your guess num:'))
if guess_num == age:
print ('Congratulations!you got it.')
break #不往后走了,跳出整个loop
elif guess_num > age:
print ('Think smaller!')
else:
print ('Think big...')
else:
print ('Try too many times...')
break

2、guess_age优化版v1.py

 #coding=utf-8
age = 22 for i in range(10):
print ('loop_i:',i)
if i < 3:
guess_num = int(input('input your guess num:'))
if guess_num == age:
print ('Congratulations!you got it.')
break #不往后走了,跳出整个loop
elif guess_num > age:
print ('Think smaller!')
else:
print ('Think big...')
else:
continue_confirm = input('Do you want to continue because you are stupid:')
if continue_confirm == 'y':
'''这个地方i虽然被重新赋值了,但是从下面的结果来看(标红的),
等到返回for循环的时候因为range的值此时是4,又把i给重新赋值了,
所以看到的是loop_i=4而不是loop_i=0,从这里我们可以看出每次的循环是in后面的序列给i赋值的'''
i = 0
print ('new i:',i)
else:
print('bye')
break

测试结果:

loop_i: 0
input your guess num:1
Think big...
loop_i: 1
input your guess num:1
Think big...
loop_i: 2
input your guess num:1
Think big...
loop_i: 3
Do you want to continue because you are stupid:y
new i: 0
loop_i: 4
Do you want to continue because you are stupid:y
new i: 0
loop_i: 5
Do you want to continue because you are stupid:
 
guess_age优化版v1.py这个程序并没有实现想要的结果,继续优化
 
3、guess_age优化版v3.py
 #coding=utf-8

 age = 22
counter = 0
for i in range(10):
print ('counter:',counter)
if counter < 3:
guess_num = int(input('input your guess num:'))
if guess_num == age:
print ('Congratulations!you got it.')
break #不往后走了,跳出整个loop
elif guess_num > age:
print ('Think smaller!')
else:
print ('Think big...')
else:
continue_confirm = input('Do you want to continue because you are stupid:')
if continue_confirm == 'y':
counter = 0
continue #跳出当次循环
else:
print('bye')
break
counter += 1
结果:
counter: 0
input your guess num:1
Think big...
counter: 1
input your guess num:1
Think big...
counter: 2
input your guess num:1
Think big...
counter: 3
Do you want to continue because you are stupid:y
counter: 0
input your guess num:1
Think big...
counter: 1
input your guess num:1
Think big...
counter: 2
input your guess num:1
Think big...
counter: 3
Do you want to continue because you are stupid:y
counter: 0
input your guess num:1
Think big...
counter: 1
input your guess num:1
Think big...

循环语句--for的更多相关文章

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

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

  2. python之最强王者(3)——变量,条件、循环语句

    1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...

  3. #9.5课堂JS总结#循环语句、函数

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

  4. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  5. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  6. python3循环语句while

    Python的循环语句有for和while语句,这里讲while语句. Python中while语句的一般形式: while 条件判断 : 语句 需要注意冒号和缩进.另外,注意Python中没有do. ...

  7. 20.SqlServer中if跟循环语句

    --if语句declare @i int begin print @i end else --循环语句 declare @i int begin insert into grade(classname ...

  8. Python学习【第五篇】循环语句

    Python循环语句 接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次. Python ...

  9. iOS -Swift 3.0 -for(循环语句用法)

    // // ViewController.swift // Swift-循环语句 // // Created by luorende on 16/12/08. // Copyright © 2016年 ...

  10. Python--While循环语句

    Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句 ...

随机推荐

  1. BZOJ 1046 最长不降子序列(nlogn)

    nlogn的做法就是记录了在这之前每个长度的序列的最后一项的位置,这个位置是该长度下最后一个数最小的位置.显然能够达到最优. BZOJ 1046中里要按照字典序输出序列,按照坐标的字典序,那么我萌可以 ...

  2. C#队列

    队列(Queue)是插入操作限定在表的尾部而其它操作限定在表的头部进行的线性表.把进行插入操作的表尾称为队尾(Rear),把进行其它操作的头部称为队头(Front).当对列中没有数据元素时称为空对列( ...

  3. MyEclipse 10.7.1 最新版官网下载地址

    MyEclipse 10.7.1(Windows): http://downloads.myeclipseide.com/downloads/products/eworkbench/indigo/in ...

  4. android view : 自定义

    首先,为什么要使用xml来配置view的视图,这个是mvc的一个思想,你可以把前端和数据分离,可以想一下一个及其复杂的视图假如要修改面对复杂的代码是多么的发愁,xml更明了的表达了视图.然而我们知道a ...

  5. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  6. C++ 类继承的对象布局

    C++多重继承下,对象布局与编译器,是否为虚拟继承都有很大关系,下面将逐一分析其中的差别,相同点为都按照类继承的先后顺序布局(类内按照虚表.成员声明先后顺序排列).该类情况为子类按照继承顺序排列,如c ...

  7. 支持向量机 (SVM)分类器原理分析与基本应用

    前言 支持向量机,也即SVM,号称分类算法,甚至机器学习界老大哥.其理论优美,发展相对完善,是非常受到推崇的算法. 本文将讲解的SVM基于一种最流行的实现 - 序列最小优化,也即SMO. 另外还将讲解 ...

  8. Java8新特性--lamada详解

    最近玩了一下这个,感觉挺有趣的,语法使用起来很简洁,让代码看起来挺清爽易读的. 看了一下源码,发现挺充分的利用了jak1.5的特性(注解.泛型). 但是,具体的实现流程还是有点不通透,先Mark,等用 ...

  9. sdk 简单说明文档草稿。

    SDK初始化: HighApi为SDK核心类,请客户端持有其唯一单例对API进行调用. HighApi构造器函数 HighApi(Context appContext, final String ap ...

  10. 向内存0:200~0:23f依次传送数据0~3fh

    只能用字节为单位传送了. assume cs:sad sad segment start: mov ax, 20h mov ds, ax mov cx, 40h s: mov [bx], bl inc ...