笨办法学python第33节

这一节主要学习内容是while循环,记录内容为将while改成函数,首先源代码如下:

 i = 0
numbers = [] while i < 6:
print "At the top i is %d" % i
numbers.append(i) i = i + 1
print "Numbers now: ", numbers
print "At the bottom i is %d" % i print "The numbers:" for num in numbers:
print num

运行结果如下:

在将这段代码改成函数的时候遇到了问题,开始我想的是这个函数的变量是numbers,就是def xunhuan(number),然后就不会写了,后来问了大肚子怎么回事,他说我变量不对,变量不是最后的结果numbers,是6,就是i<6的这个6,然后我就改成了

def xunhuan(m),就是改成如下代码:

i = 0
numbers = [] def xunhuan(m): while i < m:
return numbers.append(i)
i = i + 1 new_number = xunhuan(6)
print "The numbers: " , new_number

但是还是不对,说 i 没有定义,大肚子说应该在def函数里面加上global i,意思就是说,这个最开始定义的i是全局变量,函数里面也能用,然后我就加上了global i,发现还是不对,发现这个函数里面最后没有一个return,而且只能有一个return,所以我就把循环里面的return删了,在最后加上了return numbers。如下:

 i = 0
numbers = [] def xunhuan(m):
global i
while i < m:
numbers.append(i)
i = i + 1
return numbers new_number = xunhuan(6)
print "The numbers: " , new_number

运行成功!结果:

然后大肚子又给我说可以设置输入的值m,就是用 m = input("input: ") ,然后我就在def里面加上了这句话,发现有错误:

解决方法是,这个m = input("input: ") 不能放到def里面,应该放到def外面,代码如下:

 i = 0
numbers = [] def xunhuan(m):
global i
while i < m:
numbers.append(i)
i = i + 1
return numbers m = input("input: ")
new_number = xunhuan(m)
print "The numbers: " , new_number

解决!运行结果:

注:

1.红色字体是错误以及改正。

2.我发现我用的函数名“xunhuan”简直了,,因为八块腹肌用的“loop”,,还有我感觉不能叫大肚子,就好比要是叫一个胖子胖子,他就永远减不下来了,,所以就叫你八块腹肌吧哈哈哈哈。

3.第一次写博客,坚持坚持!

python学习——将while循环改成函数的更多相关文章

  1. 【Python学习笔记】循环和迭代

    for和while基本语法 break和continue else的使用 enumerate和zip在循环中的应用 for和while基本语法 Python中的的循环使用for和while语句来实现, ...

  2. Python学习(八) —— 内置函数和匿名函数

    一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...

  3. python学习笔记四——循环及冒泡排序

    3.3.3 break 和 continue语句 break:跳出整个循环 continue:跳出当前循环继续后面的循环 例: x=int(input("please input the ' ...

  4. python学习day6 for循环 字符串的内置方法

    1.for循环 和while相比 l=[1,2,3] i=0 while i <len(l) print(l[i]) i+=1 l=['a','b','c'] for item in l: pr ...

  5. python学习笔记:循环语句——while、for

    python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组.循环里面 ...

  6. 用python将SQL格式文件改成自己想要的格式

    INSERT INTO TTT (NSAME, ID, AGE) VALUES ('AAA', '201023210816', '22'); 将上面的SQL格式改成以下的格式 AAA|20102321 ...

  7. Python学习:for 循环 与 range()函数

    for 循环   For … in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目 注意:  1.else 部分是可选的.当循环中包含它时,它 ...

  8. python学习之路-4 内置函数和装饰器

    本篇涉及内容 内置函数 装饰器 内置函数 callable()   判断对象是否可以被调用,返回一个布尔值 1 2 3 4 5 6 7 8 9 10 11 num = 10 print(callabl ...

  9. python学习 day013打卡 内置函数

    本节主要内容: 内置函数: 内置函数就是python给你提供的.拿来直接用的函数,比如print,input等等.截止到python版本3.6.2 python一共提供了68个内置函数.他们就是pyt ...

随机推荐

  1. Download Oracle Forms 6i

    To download Oracle Forms Developer 6i from Oracle click this link http://download.oracle.com/otn/nt/ ...

  2. LINQ之路 6:延迟执行(Deferred Execution)

    LINQ中大部分查询运算符都有一个非常重要的特性:延迟执行.这意味着,他们不是在查询创建的时候执行,而是在遍历的时候执行(换句话说,当enumerator的MoveNext方法被调用时).让我们考虑下 ...

  3. RequireJS 快速入门

      说明:本文只提供快速入门内容,方便快速进入实战状态.更高级的配置,请参考官网文档. 当初之所以使用 RequireJS 等工具,是因为想提高js的加载速度,避免不必要的堵塞.但通过一段时间的使用, ...

  4. Node聊天程序实例05:index.html和style.css

    作者:vousiu 出处:http://www.cnblogs.com/vousiu 本实例参考自Mike Cantelon等人的<Node.js in Action>一书. index. ...

  5. html5画布基础

    canvas 元素用于在网页上绘制图形. 什么是canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canva ...

  6. mysql连接的一些问题。

    最近网站出现 User 数据库名称 has already more than 'max_user_connections' active connections 的报错,网站瘫痪.有必要研究下这个问 ...

  7. HTML5 十大新特性(七)——拖放API

    拖放API是H5专门为了鼠标拖放而新提供了7个事件,可以分成三个部分来讲. 一.拖动的源对象(source)可以触发的事件 dragstart:拖动开始 drag:拖动进行中 dragend:拖动结束 ...

  8. UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

    (1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...

  9. <input type="file" id="camera" multiple="multiple" capture="camera" accept="image/*"> 上传图片,手机调用相册和摄像头

    <input type="file" id="camera" multiple="multiple" capture="ca ...

  10. CSS轮廓outline

    http://www.cnblogs.com/xiaohuochai/p/5277416.html