笨办法学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. iOS解决NSData转NSString后字符为空

    iOS中,将NSData转NSString的一般方法为[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];但是当dat ...

  2. ASP.NET MVC bootstrap 3 ie 8兼容问题及错误解决(取消IE禁用IE脚本调试定位js文件错误)

    因要做一个B/S架构的项目,使用MVC框架技术,本人不擅长页面设计美工,只好用bootstrap框架,在chrome内核系列的浏览器和IE 11中显示都没有问题,但是在 IE 8下显示却不正常,表格无 ...

  3. OpenCV从入门到放弃系列之——图像的基本操作

    读取.修改.保存图像 图像读取函数imread(); 图像颜色空间的转换cvtColor(); 图像保存至硬盘imwrite(); /********************************* ...

  4. Lucene 简单API使用

    本demo 简单模拟实现一个图书搜索功能. 模拟向数据库添加数据的时候,添加书籍索引. 提供搜索接口,支持按照书名,作者,内容进行搜索. 按默认规则排序返回搜索结果. Jar依赖: <prope ...

  5. VS.Net 2015 Update3 学习(1) 支持Webpack

    让vs.net 编译的时候自动执行webpack 首先 管理员模式下打开 “Developer Command Prompt for VS2015", 是管理员模式啊! 然后进入 cd c: ...

  6. linux应用程序开发-进程通信(IPC)

    IPC why: 1.数据传输 2.资源共享 目的: 3.通知事件 4.进程控制 发展: 1.UNIX进程间通信 2.基于SYStem V 3.POSIX 方式分类: 1.pipe(管道) FIFO( ...

  7. 【算法】Hough变换

    终于看懂点了霍夫变换,以下内容来源为吉大的硕士论文,作者王阳阳 上图引用自 http://www.cnblogs.com/Ponys/p/3146753.html

  8. vscode 与 python 的约会

    安装python 官网(https://www.python.org/downloads/)下载, 安装. (简单略过). 运行python代码 运行python代码的常见方式有三种: 运行pytho ...

  9. Cognos10安装注意事项

    cognos10用db2做content management注意事项 1. 建议用UTF-8格式字符2. 建议pagesize用8K或者8K以上3. 新建数据库缓冲池pagesize和以上1.2设置 ...

  10. JAVA 线程中的异常捕获

    在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked e ...