笨办法学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. 【树莓派】【转】利用USB网卡配置树莓派为无线热点

    由于Wifi很慢,基本不可用:树莓派有无线网卡,恰好看到有文章用树莓派来做无线热点,利用树莓派来共享无线网络.比较有用,转发后续尝试. 本文转自:https://www.embbnux.com/201 ...

  2. Sublime相关

    通过添加 Build System 的方式来使 Sublime Text 3 运行 JS.ES6: 参考文章:如何优雅地使用Sublime Text3 参考书目:<ES6标准入门>阮一峰 ...

  3. My Sql 中要Alter Table的同学请注意!!!

    首先我建议你在对MySQL表做DDL操作时: 1 执行 show processlist 查看,要操作的表(数据库对象)是否处于锁状态 if("未锁定") { 执行DDL语句 }e ...

  4. RANSAC 剔除错误匹配 估计模型

    随机抽样一致,这个算法,我以前一直都没有理解透彻.只知道可以用来直线拟合,网上大多数中文博客也都是写直线拟合的,但是用来匹配二维特征的时候,总还是没弄明白. 基本概念参考 http://www.cnb ...

  5. CCNA网络基础(一)

    现在我们使用这一个图来讲解网络的基础知识:     现在只看右边那个图,也就是两台主机和一个交换机       PC1 的配置是      IP 172.16.20.2/24   网关没有配     ...

  6. 读取中文目录(python)

    前言:需要对某目录下的文件进行分类,目录是中文名字就会报错,偶尔会手动修改文件名字,不太方便 解决办法:使用unicode()对路径进行处理 举例: 未进行处理前,该目录下的文件中文名称也是乱码显示的 ...

  7. 微信内嵌浏览器sessionid丢失问题,nginx ip_hash将所有请求转发到一台机器

    现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现. 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题.近期有部分用户是在微信中访问的,才出 ...

  8. mybatis输出SQL

    1.导包 下载一个log4j-1.2.17.jar,放到WEB-INF的lib下,并加入build path 2.创建配置文件 在src下创建log4j.properties,填入以下内容: log4 ...

  9. 机器学习之KNN算法思想及其实现

    从一个例子来直观感受KNN思想 如下图 , 绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形 ...

  10. 关于SQLite的伪随机数

    --random() 的返回值范围是:[-2^63,(2^63)-1],而通常要的是最小为 0的随机数,于是就不能直接用了,解决办法: then col else -col end) result f ...