第一篇:FishC工作室《零基础学习python》全套课后题
第一节课
0.Python 是什么类型的语言?
Python是脚本语言
脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:
语法和结构通常比较简单 学习和使用通常比较简单
通常以容易修改程序的“解释”作为运行方式,而不需要“编译” 程序的开发产能优于运行性能
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。
1.IDLE 是什么?
IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。
2.print()的作用是什么?
print()会在输出窗口中显示一些文本(在这一讲中,输出窗口就是IDLE shell窗口)。
3.Python 中表示乘法的符号是什么?
Python中的乘号是*(星号)。
4.为什么 >>>print('I love fishc.com ' * 5)可以正常执行,但 >>>print('I love fishc.com ' + 5)却报错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love fishc.com ' + 5)才会报错。这就像是在说“五只小甲鱼加上苍井空会是多少?”一样没有多大意义,结果可能是五,可能是六,也可能是八!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 “I love fishc.com” 这个字符串打印五次。
5.如果我需要在一个字符串中嵌入一个双引号,正确的做法是?
你有两个选择:可以利用反斜杠()对双引号转义:“,或者用单引号引起这个字符串。例如:' I l”o“ve fishc.com '。
6.为什么我们要使用 Python3?Python2到底有什么问题?看起来很多程序员依然都在使用Python2?
确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和 WIN7 一样。在《零基础入门学习Python》的系列教程准备中,小甲鱼发觉 Python3 中的新特性确实很妙,很值得进行深入学习!你也不用担心,如果你了解了 Python3,Python2 的代码阅读对于你来说根本不成问题!
第二节课
0.什么是BIF?
BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print()的功能是“打印到屏幕”,input()的作用是接收用户输入(注:Python3 用 input()取代了 Python2 的 raw_input(),用法如有不懂请看视频讲解)。
太多BIF学不过来怎么办?看不懂英文说明怎么办?Python3的资料太少怎么办?没事,有了小甲鱼,妈妈再也不用担心我的学习了!
1.用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?
在 Python 或 IDLE 中,输入 dir(__builtins__)可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个,不信你自己数数看,你们肯定没有自己完成作业就来看答案!哼~ T_T 2.在 Python 看来:'FishC' 和 'fishc' 一样吗?
不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发现此问题。
3.在小甲鱼看来,Python 中什么是最重要的?你赞同吗?
缩进!在小甲鱼看来,缩进是 Python 的灵魂,缩进的严格要求使得 Python 的代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱......C语言不是有国际乱码大赛嘛......)。
所以在 Python 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的事情可能和你的期望相去甚远(就像C语言里边括号打错了位置)。
如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进!
4.这节课的例子中出现了“=”和“==”,他们表示不同的含义,你在编程的过程中会不小心把“==”误写成“=”吗?有没有好的办法可以解决这个问题呢?
C语言的话,如果 if(c == 1)写成 if(c = 1),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!
小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心的 BUG,并且这类 BUG 杀伤力都巨大!
5.你听说过“拼接”这个词吗?
在一些编程语言,我们可以将两个字符串“相加”在一起,如:'I' + 'Love' + 'FishC' 会得到 'ILoveFishC',在 Python 里,这种做法叫做拼接字符串。0.编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”
1.name = input(”请输入您的姓名:“)2.print('你好,' + name + '!')复制代码
1.编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”
1.temp = input(”请输入1到100之间的数字:“)2.num = int(temp)3.if 1 <= num <= 100: 4.print('你妹好漂亮^_^')5.else: 6.print('你大爷好丑T_T')复制代码
第三课
5.如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
1.>>>str = r'C:Program FilesFishCGood''' 复制代码
第四课 测试题:
0.请问以下代码会打印多少次“我爱鱼C!”
1.while 'C': 2.print('我爱鱼C!')复制代码
1.请问以下代码会打印多少次“我爱鱼C!”
1.i = 10 2.while i: 3.print('我爱鱼C!')4.i = i1 # 用户每输入一次,可用机会就-1 13.if guess == secret: 14.print(”我草,你是小甲鱼心里的蛔虫吗?!“)15.print(”哼,猜中了也没有奖励!“)16.else: 17.if guess > secret: 18.print(”哥,大了大了~~~“)19.else: 20.print(”嘿,小了,小了~~~“)21.if times > 0: 22.print(”再试一次吧:“, end=” “)23.else: 24.print(”机会用光咯T_T“)25.print(”游戏结束,不玩啦^_^“)复制代码
1.写一个程序,判断给定年份是否为闰年。
1.temp = input('请输入一个年份:')2.while not temp.isdigit(): 3.temp = input(”抱歉,您的输入有误,请输入一个整数:“)4.5.year = int(temp)6.if year/400 == int(year/400): 7.print(temp + ' 是闰年!')8.else: 9.if(year/4 == int(year/4))and(year/100!= int(year/100)): 10.print(temp + ' 是闰年!')11.else: 12.print(temp + ' 不是闰年!')复制代码
2.尝试写代码实现以下截图功能:
3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.请问以下代码会打印多少次“我爱鱼C!” 死循环,会一直打印“我爱鱼C!”(嗯,这也算是永远支持鱼C的方法之一),直到崩溃或者用户按下快捷键 CTRL + C(强制结束)
造成死循环的原因是 while 后边的条件永远为真(True),在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False None 0 ”“ ''()[] {}
其他一切都被解释为真!
不妨试试:
1.while '': 2.print('进入循环')3.print('退出循环')复制代码
或者
1.while Flase: 2.print('进入循环')3.print('退出循环')复制代码
或者
1.while 0: 2.print('进入循环')3.print('退出循环')复制代码
1.请问以下代码会打印多少次“我爱鱼C!”
会打印 10 次。
2.请写出与 10 < cost < 50 等价的表达式
(10 < cost)and(cost < 50)
3.Python3 中,一行可以书写多个语句吗?
可以,语句之间用分号隔开即可,不妨试试: >>> print('I love fishc');print('very much!')
4.Python3 中,一个语句可以分成多行书写吗?
可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:
1.>>> 3 > 4 and 2.1 < 2 复制代码
或者
1.>>>(3 > 4 and 2.1 < 2)复制代码
5.【该题针对有C或C++基础的朋友】请问Python的 and 操作符 和C语言的 && 操作符 有何不同?
有图有真相(CC++ VS Python):
VS
6.听说过“短路逻辑(short-circuit logic)”吗?
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。
动动手答案:
本帖隐藏的内容
0.完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
需要注意的地方在代码中已经注释!
1.import random 2.times = 3 3.secret = random.randint(1,10)4.print('------------------我爱鱼C工作室------------------')5.# 这里先给guess赋值(赋一个绝对不等于secret的值)6.guess = 0 7.# print()默认是打印完字符串会自动添加一个换行符,end=” “参数告诉print()用空格代替换行
8.# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end=”JJ“? 9.print(”不妨猜一下小甲鱼现在心里想的是哪个数字:“, end=” “)10.while(guess!= secret)and(times > 0): 11.temp = input()12.guess = int(temp)13.times = times1 复制代码
2.尝试写代码实现以下截图功能:
1.temp = input('请输入一个整数:')2.number = int(temp)3.while number: 4.i = number1 8.j = number 9.while j: 10.print('*', end = '')11.j = j1 复制代码
第六课 测试题: 0.Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
1.a < b < c 事实上是等于?
2.不使用 IDLE,你可以轻松说出 5 **-2 的值吗?
3.如何简单判断一个数是奇数还是偶数?
4.请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
5.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
动动手:
0.请写一个程序打印出 0~100 所有的奇数。
1.我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
2.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。(小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)
题目:请编程求解该阶梯至少有多少阶?
3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.0
1.a < b < c 事实上是等于?
(a < b)and(b < c)
2.不使用 IDLE,你可以轻松说出 5 **-2 的值吗?
0.04,也就是 1/25
幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。
3.如何简单判断一个数是奇数还是偶数?
使用求余可以简单得到答案:能被 2 整除为偶数,所以 x % 2 == 0,否则为奇数。
4.请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
如果你的回答是 0,那么小甲鱼很开心你中招了!答案是:4
not or and 的优先级是不同的:not > and > or
我们按照优先级给它们加上括号:(not 1)or(0 and 1)or(3 and 4)or(5 and 6)or(7 and 8 and 9)== 0 or 0 or 4 or 6 or 9 == 4
为啥是 4?
大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。所以答案是:4
温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。
5.还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if year/400 == int(year/400)”这样的方式来“委曲求全”。
动动手答案:
本帖隐藏的内容
0.请写一个程序打印出 0~100 所有的奇数。
1.i = 0 2.while i <= 100: 3.if i % 2!= 0: 4.print(i, end=' ')5.i += 1 6.else: 7.i += 1 复制代码
1.我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
print(2 ** 2 ** 32)# 一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。# 设计到幂操作,结果都是惊人滴。
2.题目:请编程求解该阶梯至少有多少阶?
1.x = 7 2.i = 1 3.flag = 0 4.5.while i <= 100: 6.if(x%2 == 1)and(x%3 == 2)and(x%5 == 4)and(x%6==5): 7.flag = 1 8.else: 9.x = 7 *(i+1)# 根据题意,x一定是7的整数倍,所以每次乘以7 10.i += 1 11.12.if flag == 1: 13.print('阶梯数是:', x)14.else: 15.print('在程序限定的范围内找不到答案!')复制代码
第八课
0.if not(money < 100): 上边这行代码相当于?
1.assert 的作用是什么?
2.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
3.猜猜(x < y and [x] or [y])[0] 实现什么样的功能?
4.你听说过成员资格运算符吗?
动动手:
0.视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。
1.Python 的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。请将以下代码修改为三元操作符实现: 1.x, y, z = 6, 5, 4 2.if x < y: 3.small = x 4.if z < small: 5.small = z 6.elif y < z: 7.small = y 8.else: 9.small = z 复制代码
2.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.if not(money < 100): 这行代码相当于?
if money >= 100:
1.assert 的作用是什么?
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。
一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
2.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x, y, z = z, y, x
3.猜猜(x < y and [x] or [y])[0] 实现什么样的功能?
这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or 搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识,这部分知识很快就会讲解,迫不及待的朋友可以先稍微预习下。
4.你听说过成员资格运算符吗?
Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
例如:
1.>>> name = '小甲鱼' 2.>>> '鱼' in name 3.True 4.>>> '肥鱼' in name 5.False 复制代码
当下节课我们讲解 for 语句的时候,你看到 in 会不会就有了更深入的理解?!
动动手答案:
本帖隐藏的内容
0.视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
1.score = int(input('请输入一个分数:'))2.if 80 > score >= 60: 3.print('C')4.elif 90 > score >= 80: 5.print('B')6.elif 60 > score >= 0: 7.print('D')8.elif 100 >= score >= 90: 9.print('A')10.else: 11.print('输入错误!')复制代码
1.Python 的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。
1.small = x if(x < y and x < z)else(y if y < z else z)复制代码
第九课
0.下面的循环会打印多少次”I Love FishC“?
1.for i in range(0, 10, 2): 2.print('I Love FishC')复制代码
1.下面的循环会打印多少次”I Love FishC“?
1.for i in 5: 2.print('I Love FishC')复制代码
2.回顾一下 break 和 continue 在循环中起到的作用?
3.请谈下你对列表的理解?
4.请问 range(10)生成哪些数?
5.目测以下程序会打印什么?
1.while True: 2.while True: 3.break 4.print(1)5.print(2)6.break 7.print(3)复制代码
6.什么情况下我们要使循环永远为真?
7.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?
1.i = 0 2.string = 'ILoveFishC.com' 3.while i < len(string)): 4.print(i)5.i += 1 复制代码
动动手:
细节决定成败,看答案前记得自己先敲代码!
0.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含”*“则不计算在内。
程序演示如图:
1.编写一个程序,求 100~999 之间的所有水仙花数。
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。
2.三色球问题
有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。
3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.下面的循环会打印多少次”I Love FishC“?
1.for i in range(0, 10, 2): 2.print('I Love FishC')复制代码 次,因为从 0 开始,到 10 结束,步进为 2。
1.下面的循环会打印多少次”I Love FishC“?
1.for i in 5: 2.print('I Love FishC')复制代码
会报错,上节课的课后习题我们提到了 in 是“成员资格运算符”,而不是像 C 语言那样去使用 for 语法。Python 的 for 更像脚本语言的 foreach。
2.回顾一下 break 和 continue 在循环中起到的作用
break语句的作用是终止当前循环,跳出循环体。continue语句的作用是终止本轮循环并开始下一轮循环(这里要注意的是:在开始下一轮循环之前,会先测试循环条件)。
3.请谈下你对列表的理解
嗯,有些知识点需要自己总结才能加固,下节课小甲鱼将跟大家畅谈一个打了激素的数组:列表,不容错过哦^_^
4.请问 range(10)生成哪些数?
会生成 range(0, 10),list(range(0, 10))转换成列表是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],注意不包含 10 哦。
5.目测以下程序会打印什么?
1.while True: 2.while True: 3.break 4.print(1)5.print(2)6.break 7.print(3)复制代码
会打印: 2 3
因为 break 只能跳出一层循环,记住咯!
6.什么情况下我们要使循环永远为真?
while Ture: 循环体
同样用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也是通过这样的原理来工作的。
所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!
7.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?
1.i = 0 2.string = 'ILoveFishC.com' 3.while i < len(string)): 4.print(i)5.i += 1 复制代码
这段代码之所以“效率比较低”是因为每次循环都需要调用一次 len()函数(我们还没有学到函数的概念,小甲鱼这里为零基础的朋友形象的解释下:就像你打游戏打得正HIGH的时候,老妈让你去买盐......你有两种选择,一次买一包,一天去买五次,或者一次性买五包回来,老妈要就直接给她。)
1.i = 0 2.string = 'ILoveFishC.com' 3.length = len(string)4.while i < length: 5.print(i)6.i += 1 复制代码
小甲鱼希望学习咱的课程的朋友不是只为了可以把程序写出来,而是追求把代码写好,写漂亮,做一个有理想、有追求的程序猿!
动动手答案:
本帖隐藏的内容
0.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含”*“则不计算在内。
1.count = 3 2.password = 'FishC.com' 3.4.while count: 5.passwd = input('请输入密码:')6.if passwd == password: 7.print('密码正确,进入程序......')8.break 9.elif '*' in passwd: 10.print('密码中不能含有”*“号!您还有', count, '次机会!', end=' ')11.continue 12.else: 13.print('密码输入错误!您还有', count-1, '次机会!', end=' ')14.count-= 1 复制代码
1.编写一个程序,求 100~999 之间的所有水仙花数。
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
1.for i in range(100, 1000): 2.sum = 0 3.temp = i 4.while temp: 5.sum = sum +(temp%10)** 3 6.temp //= 10 # 注意这里要使用地板除哦~ 7.if sum == i: 8.print(i)复制代码
2.三色球问题
有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。
1.print('redtyellowtblue')2.for red in range(0, 4): 3.for yellow in range(0, 4): 4.for green in range(2, 7): 5.if red + yellow + green == 8: 6.# 注意,下边不是字符串拼接,因此不用‚+‛哦~ 7.print(red, 't', yellow, 't', green)复制代码
注释:range(2, 7)是产生[2, 3, 4, 5, 6]5个数,绿球不能是1个,因为如果绿球是1个的话,红球 + 黄球需要有7个才能符合题意,而红球和黄球每种只有3个,因此是range(2, 7)第十课 测试题:
0.列表都可以存放一些什么东西?
1.向列表增加元素有哪些方法? 2.append()方法和 extend()方法都是向列表的末尾增加元素,请问他们有什么区别?
3.member.append(['竹林小溪', 'Crazy迷恋'])和 member.extend(['竹林小溪', 'Crazy迷恋'])实现的效果一样吗?
4.有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?
动动手:
0.自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
假设给定以下列表:
member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
要求将列表修改为:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
方法一:使用 insert()和 append()方法修改列表。
方法二:重新创建一个同名字的列表覆盖。
1.利用 for 循环打印上边 member 列表中的每个内容,如图:
2.上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
3.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.列表都可以存放一些什么东西?
我们说 Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型。
>>> mix = [1, „小甲鱼‟, 3.14, [1, 2, 3]]
1.向列表增加元素有哪些方法?
这节课我们教过大家三种方法想列表增加元素,分别是:append()、extend()和 insert()。
2.append()方法和 extend()方法都是向列表的末尾增加元素,请问他们有什么区别?
append()方法是将参数作为一个元素增加到列表的末尾。extend()方法则是将参数作为一个列表去扩展列表的末尾。请看以下示例:
1.>>> name = ['F', 'i', 's', 'h'] 2.>>> name.append('C')3.>>> name 4.['F', 'i', 's', 'h', 'C'] 5.>>> name.extend(['.', 'c'])6.>>> name 7.['F', 'i', 's', 'h', 'C', '.', 'c'] 8.>>> name.append(['o', 'm'])9.>>> name 10.['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']] 复制代码
3.member.append(['竹林小溪', 'Crazy迷恋'])和 member.extend(['竹林小溪', 'Crazy迷恋'])实现的效果一样吗?
不一样,因为怕大家没有仔细看上一题的示例,所以不懂的请看上一题解释。
4.有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?
name.insert(2, 's')
动动手答案:
本帖隐藏的内容
0.自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
假设给定以下列表:
member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
要求将列表修改为: member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
方法一:使用 insert()和 append()方法修改列表。
方法二:重新创建一个同名字的列表覆盖。
解答:
方法一:
1.member.insert(1, 88)2.member.insert(3, 90)3.member.insert(5, 85)4.member.insert(7, 90)5.member.append(88)复制代码
方法二:
1.member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] 复制代码
对于这种情况,明显是第二种方法看起来要好一些嘛。
不过对于大型的列表,第一种方法可能更合适,所以我们说永远没有最好的,只有最合适的。
1.利用 for 循环打印上边 member 列表中的每个内容
1.member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88] 2.for each in member: 3.print(each)复制代码
2.上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
1.方法一: 2.count = 0 3.length = len(member)4.while count < length: 5.print(member[count], member[count+1])6.count += 2 7.8.方法二: 9.10.for each in range(len(member)): 11.if each%2 == 0: 12.print(member[each], member[each+1])复制代码
0.注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
1.>>> old = [1, 2, 3, 4, 5] 2.>>> new = old 3.>>> old = [6] 4.>>> print(new)复制代码
如果不上机操作,你觉得会打印什么内容?
第十二课
1.请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?
1.list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18] 复制代码
2.要对一个列表进行顺序排序,请问使用什么方法?
3.要对一个列表进行逆序排序,请问使用什么方法?
4.列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy()和 clear()
5.你有听说过列表推导式或列表解析吗?
没听过?!没关系,我们现场来学习一下吧,看表达式:
1.>>> [ i*i for i in range(10)] 复制代码
你觉得会打印什么内容? 1.>>> [i*i for i in range(10)] 2.[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 复制代码
居然分别打印了0到9各个数的平方,然后还放在列表里边了有木有?!
列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:
[有关A的表达式 for A in B]
例如
1.>>> list1 = [x**2 for x in range(10)] 2.>>> list1 3.[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 复制代码
相当于
1.list1 = [] 2.for x in range(10): 3.list1.append(x**2)复制代码
问题:请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来。
1.>>> list1 = [(x, y)for x in range(10)for y in range(10)if x%2==0 if y%2!=0] 复制代码
6.活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分
7.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。1.>>> old = [1, 2, 3, 4, 5] 2.>>> new = old 3.>>> old = [6] 4.>>> print(new)复制代码
会打印:[1, 2, 3, 4, 5]
如有不理解的朋友请看上一讲课后作业的详细答案。
1.请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?
1.list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18] 2.list1[1][2][0] = '小鱿鱼' 复制代码
2.要对一个列表进行顺序排序,请问使用什么方法?
1.>>> 列表名.sort()复制代码
3.要对一个列表进行逆序排序,请问使用什么方法?
1.>>> 列表名.sort()2.>>> 列表名.reverse()复制代码
或者
1.>>> 列表名.sort(reverse=True)复制代码
4.列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy()和 clear()
copy()方法跟使用切片拷贝是一样的:
1.>>> list2 = list1.copy()2.>>> list2 3.[1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18] 复制代码
clear()方法用于清空列表的元素,但要注意,清空完后列表仍然还在哦,只是变成一个空列表。
1.>>> list2.clear()2.>>> list2 3.[] 复制代码
5.问题:请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来。
1.>>> list1 = [(x, y)for x in range(10)for y in range(10)if x%2==0 if y%2!=0] 复制代码
1.list1 = [] 2.for x in ragne(10): 3.for y in range(10): 4.if x%2 == 0: 5.if y%2!= 0: 6.list1.append((x, y))复制代码
6.活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分
1.>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]] 复制代码
第十三课 测试题:
0.请用一句话描述什么是列表?再用一句话描述什么是元组?
1.什么情况下你需要使用元组而不是列表?
2.当元组和列表掉下水,你会救谁?
3.请将下图左边列表的内置方法与右边的注释连线,并圈出元组可以使用的方法。
4.创建一个元组,什么情况下逗号和小括号必须同时存在,缺一不可?
5.x, y, z = 1, 2, 3 请问x, y, z是元组吗?
6.请写出以下情景中应该使用列表还是元组来保存数据:
1)游戏中角色的属性:
2)你的身份证信息:
3)论坛的会员:
4)团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:
5)航天火箭各个组件的具体配置参数:
6)NASA系统中记录已经发现的行星数据:
7.上节课我们通过课后作业的形式学习到了“列表推导式”,那请问如果我把中括号改为小括号,会不会得到“元组推导式”呢?
8.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
回复您的答案即可查看参考答案!
测试题答案:
本帖隐藏的内容
0.请用一句话描述什么是列表?再用一句话描述什么是元组?
列表:一个大仓库,你可以随时往里边添加和删除任何东西。
元组:封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)。
1.什么情况下你需要使用元组而不是列表?
当我们希望内容不被轻易改写的时候,我们使用元组(把权力关进牢笼)。
当我们需要频繁修改数据,我们使用列表。
2.当元组和列表掉下水,你会救谁?
如果是我,我会救列表,因为列表提供了比元组更丰富的内置方法,这相当大的提高了编程的灵活性。
回头来看下元组,元组固然安全,但元组一定创建就无法修改(除非通过新建一个元组来间接修改,但这就带来了消耗),而我们人是经常摇摆不定的,所以元组只有在特殊的情况才用到,平时还是列表用的多。
综上所述,小甲鱼会救列表(列表是美眉)。
3.请将左边列表的内置方法与右边的注释连线,并圈出元组可以使用的方法。
看吧,元组果然比较悲剧吧,仅有两个方法元组可以使用,其他方法都不行,不信你试试?
4.创建一个元组,什么情况下逗号和小括号必须同时存在,缺一不可?
在拼接只有一个元素的元组的时候,例如我们课上举的例题:
1.>>> temp =(‘小甲鱼’, ‘黑夜’, ‘迷途’, ‘小布丁’)2.# 如果我想在‚黑夜‛和‚迷途‛之间插入‚怡静‛,我们应该: 3.>>> temp = temp[:2] +(‘怡静’,)+ temp[2:]
复制代码
5.x, y, z = 1, 2, 3 请问x, y, z是元组吗?
所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组,自己在IDLE中键入以下代码,并体会一下:
1.>>> x, y, z = 1, 2, 3 2.3.>>> type(x)4.5.>>> h = x, y, z 6.7.>>> type(h)复制代码
6.请写出以下情景中应该使用列表还是元组来保存数据:
1)游戏中角色的属性:列表
2)你的身份证信息:元组
3)论坛的会员:列表
4)团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组
5)航天火箭各个组件的具体配置参数:元组
6)NASA系统中记录已经发现的行星数据:列表
7.上节课我们通过课后作业的形式学习到了“列表推导式”,那请问如果我把中括号改为小括号,会不会得到“元组推导式”呢?自己动手试试看再看答案哦^_^
Python3 木有“元组推导式”,为嘛?没必要丫,有了“列表推导式”已经足够了。
那为什么“>>> tuple1 =(x**2 for x in range(10))”不会报错? 因为你误打误撞得到了一个生成器:
1.>>> type(tuple1)2.
关于生成器的概念小甲鱼今后会细讲,你可以尝试这么去访问我们刚刚的生成器:
# 注意,Python3 开始 next()方法改为 __next__()哦~ 1.>>> tuple1.__next__()2.0 3.>>> tuple1.__next__()4.1 5.>>> tuple1.__next__()6.4 7.>>> tuple1.__next__()8.9 9.>>> tuple1.__next__()10.16 11.>>> tuple1.__next__()12.25 13.>>> tuple1.__next__()14.36 复制代码
第14课
测试题:
0.还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?
1.三引号字符串通常我们用于做什么使用?
2.file1 = open('C:windowstempreadme.txt', 'r')表示以只读方式打开“C:windowstempreadme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?
3.有字符串:str1 = ' Python 为我们铺好了解决的道路,只需要使用原始字符串操作符(R或r)即可: 1.>>> file1 = open(r'C:windowstempreadme.txt', 'r')复制代码 3.有字符串:str1 = '鱼C资源打包',请问如何提取出子字符串:'www.xiexiebang.com' 1.>>> str1[16:29] 复制代码 4.如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗? 1.>>> str1[-45:-32] 复制代码 5.还是第三题那个字符串,请问下边语句会显示什么内容? 1.>>> str1[20:-36] 复制代码 'fishc',加入了负数索引,问题变得有些复杂,不过自己多尝试几次就可以熟练掌握了。 6.据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99' 1.>>> str1[::3] 复制代码 动动手答案: 本帖隐藏的内容 0.请写一个密码安全性检查的脚本代码:check.py 1.# 密码安全性检查代码 2.# 3.# 低级密码要求: 4.# 1.密码由单纯的数字或字母组成 5.# 2.密码长度小于等于8位 6.# 7.# 中级密码要求: 8.# 1.密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|)任意两种组合 9.# 2.密码长度不能低于8位 10.# 11.# 高级密码要求: 12.# 1.密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|)三种组合 13.# 2.密码只能由字母开头 14.# 3.密码长度不能低于16位 15.16.symbols = r'''`!@#$%^&*()_+-=/*{}[]|'“;:/?,.<>''' 17.chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 18.nums = '0123456789' 19.20.passwd = input('请输入需要检查的密码组合:')21.22.# 判断长度 23.length = len(passwd)24.25.while(passwd.isspace()or length == 0): 26.passwd = input(”您输入的密码为空(或空格),请重新输入:“)27.28.if length <= 8: 29.flag_len = 1 30.elif 8 < length < 16: 31.flag_len = 2 32.else: 33.flag_len = 3 34.35.flag_con = 0 36.37.# 判断是否包含特殊字符 38.for each in passwd: 39.if each in symbols: 40.flag_con += 1 41.break 42.43.# 判断是否包含字母 44.for each in passwd: 45.if each in chars: 46.flag_con += 1 47.break 48.49.# 判断是否包含数字 50.for each in passwd: 51.if each in nums: 52.flag_con += 1 53.break 54.55.# 打印结果 56.while 1 : 57.print(”您的密码安全级别评定为:“, end='')58.if flag_len == 1 or flag_con == 1 : 59.print(”低“)60.elif flag_len == 2 or flag_con == 2 : 61.print(”中")62.else : 英语零基础怎么学习 英语的学习不是一朝一夕可以完成的。但也不是高不可攀,那么,该怎么学英语呢?零基础是否就学不好英语呢?当然不是,老师用自身案例教教大家零基础学英语! 首先,下定决心了,就和自己说要坚持。千万不要半途而废,英语作为一门语言,要坚持不懈的去学,如果坚持不了,没有决心,那么这篇文章就不用往下看了。 2.学英语,自然要从音标学起,音标是英语的基础,不会音标就算你会读也很难学好 3.读熟音标之后,对陌生单词也不怕了,这时,多读单词,积累自己的词汇量 4.然后要多读课文,大家都知道疯狂英语把,虽然觉得大声喊英语很傻,但是,多读英语是必须的,可以培养自己的语感,而且,英语是一门语言,一定要多讲 5.最后就是看语法,学语法就是学英语的说话习惯,否则说出中国式英语就闹笑话了 最后的注意事项之所以不说背单词,是因为在多读的过程中就会熟悉单词,天天背单词那是应付考试的方法,要把单词用在心里才行。 零基础如何学习会计?---新千年会计培训专家解答会计入门问题 一.会计是做什么的? 在企业,每天都会发生很多与钱(会计上把钱叫做货币)有关的事情,这些事情的发生因为与钱有关,所以必须要有一个凭据来证明它的发生,这个凭据(比如发票)会计上叫做原始凭证.那么,会计呢,就是每天根据这些原始凭证,按照会计的方法分门别类地设置一个一个的账本(会计科目)来记录这些钱的增加和减少,月底,记录这个企业还有好多财产,分别有那些财产;这个月赚了好多钱(利润),哪些产品分别赚了好多钱。这些就是会计的工作。 二.零基础会计入门怎么学? 答:零基础会计入门有两个渠道可供选择:一是先考《会计从业资格证》,因为会计上岗就业必须要有《会计从业资格证》。这个适合想从事会计职业的人员。二是直接参加“会计真账实操培训”,学习手工全盘做帐和电脑做帐;这个适合不直接从事会计工作只是想懂得会计业务的人员,比如,老板娘。 【专家建议】:先考证,取得全国通用的《会计从业资格证》之后,再参加“会计真账实操培训”。学会计就好比学开汽车,有了驾照才能开车,但是一旦有车开又不熟练。所以,我们培训机构开设有两种培训班共你选择。一种是考证班,就是专门针对考取会计从业资格证的培训班,由资深会计培训老师很专业的给你讲解考试的考点,重点和难点,以及如何记住这些考点,如何应对考试,让你明明白白地考试,顺利拿到会计从业资格证书。就象考驾照一样,先把驾照拿到先,会不会开车再讲。另一种就是“会计真账实操培训班”就是相当于拿到驾照不会开车“陪驾”来训练。这个培训班是教你如何做帐的;我们采用真实的原始凭证(比如发票),由正在做到会计的在职会计师来教你,手把手的教你做会计。教你工业企业一般纳税人一个月的业务,商业企业小规模纳税人2个月的业务,有企业新办期也有经营期的业务,基本上与会计实际工作无缝对接了,使你学完即可上岗做会计。另外,学完我们还有评选优秀学员到会计师事务所或者代理记账公司进行实地实习,给你上岗前去专业机构大开眼界的机会,见识一下会计大咖是如何工作。 不过,也可以先参加“会计真账实操培训班”练熟了以后再考证,根据个人情况而定。 二.学会计是先学“工业会计”还是先学“商业会计”呢? 答:首先,会计是不分行业的,现在的会计制度只是分大中型企业和小型企业,前者执行的会计制度是《企业会计准则》,后者执行的会计制度是《小企业会计准则》。在大学或中专学校的会计专业里也没有分行业的,只有《会计基础》《财务会计》《中级财务会计》《高级财务会计》之分,从来会计就不分行业的。有些培训机构在培训的时候划分行业,主要是为了分别收费,学一个行业收一份钱。我们在培训的时候也是不分行业,只是按照会计教育的惯例把工业和商业企业作为蓝本来教学,您只要学会工业和商业企业,什么行业您都不怕了。行业不同,其实就是成本核算不一样罢了。我们在“行业会计比较”的时候,会告诉你各种行业在那些方面有那些核算是不一样的。 其次,初学会计的人也没有必要去分行业来学,本来不复杂的会计对初学者来说,一分行业就复杂了。就象学开车一样,同时学开轿车面包车货车大客车人都搞晕。对初学者来说,只要学一种车就够了。以后可以根据需要增驾嘛,需要什么车的驾照就增驾什么。学会计也一样。把会计原理学好了,工业,商业学好了,以后什么行业就不怕了。 再次,行业不同,会计原理是一样的,所不的是其他行业与工业企业的产品成本,商业企业的商品成本计算方法不同而已,作为初学者是很难有机会马上接触到这些业务的。 【专家建议】学会计,先学好会计原理就行了,不必同时学好几个行业的会计业务。关键是要把握好会计科目核算的内容和会计科目的使用以及会计报表项目的填报内容。会计原理学好了,不管什么行业都是一样的。对初学者来说,在几个月里想成为会计精英是不可能的,教室里面很难培养成为会计精英。会计精英要靠实践中磨练出来的。 (作者:桂林市新千年会计职业培训学校 谢勇) 零基础可以学习IT吗 IT行业已经连续多年成为最热门行业,行业的高收入也成为众多行业之外的人们,所以羡慕的地方,那么没有电脑编程基础的人们,可以学IT吗?将来找工作时好找吗? 事实上,经过多年的发展,职业教育已经成功解决了零基础学IT的问题,特别是一些老牌的职业教育机构,在教学实绩上,都有不俗的表现。 北大青鸟广安门中心是青鸟十家理事单位,成立近十年来已经向社会培养了近万IT人才,每年在广安门中心,都会特别针对零基础和低学历人群,开设专门的零基础IT培训班,凭借多年的丰富教学经验,和优秀的师资团队,广安门中心成为青鸟体系内,零基础学IT的重点培训校区。 零基础学IT最需要解决的就是学不会的问题,为解决学不会问题,北大青鸟广安门从两方面下手,一是教学方法,二是教学管理。 在教学方法上,广安门特别采用了兴趣教学方法,每个知识点都按照,是什么、用在什么地方有什么用、怎么去实现这种作用和功能、为什么能够实现这种功能和作用的,认知逻辑去讲解,从而更便于学生去理解和接收,是理解性的教授,而不是强迫式的灌输。在教学管理上,北大青鸟广安门特别制定了四大纪律,从考勤到上课,再到上机和作业完成,全方位的纪录学生的学习状况,一定学生学习出现问题,就会有老师及时与之沟通,从而避免,小问题积少成多,从而造成学不会而厌学的情况。 目前在北大青鸟广安门,正在忙碌进行着春季零基础IT培训的招生活动,有IT想法的,可在线与老师进行沟通了解。 PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。 零基础学习英语 一、背单词 单词的重要性我想大家都是可以理解的,我们在零基础的情况下自学英语时,应该注重对单词的学习和记忆。刚开始时大家可以背一些简单的单词,这时我们可以利用英语课本的单词表来学习,从小学单词开始,再到初中单词,然后是高中单词,一步一步地加大难度。 二、听英文 我们为什么要学英语呢?因为学会英语后我们可以听懂外国人说的话,可以看懂外国人写的文章。如果想要提升自己的听力水平,那么我们可以多去听外国人说英文。如今互联网和科技高速发展,我们在网络上可以找到各类视频、音频资源,可以通过看影视剧、听英文歌曲的方式来锻炼自己的听力,这样即方便又快捷。而且在看视频的同时,我们还可以学习剧中演员的说话方式、语音语调,这样还可以进一步提高我们的英语口语水平。 三、学语法 如果说单词是英语的基础,那么语法就是英语的结构骨架。我们在零基础的情况下也不能忽视对语法知识的学习,因为语法是英语这门语言的规则,我们不懂规则,又怎能学好英语呢? 学习语法知识时小编建议大家可以多看一看语法书,我们自学时没有老师的引导,而语法书可以为我们提供一个知识框架,这样我们学习时才能更有条理。而且书上还有很多例子,可以加深我们对语法知识的理解,对零基础自学的朋友是有很大帮助的。 四、持续坚持学习英语的动力 零基础学英语最重要的是坚持,因为万事开头难,最开始学英语因为都是从最基本的单词开始的,先从学习简单的语句为原点,句子为单位学习单词。我们并不需要认识很多的词,而是需要认识一个会用一个。从有情景的句子出发学习单词更有效率也更加的实用。 五、学完就用不怕出错 学到个表达,了解到一个话题就去用一用。用多了就不打怵了,套路也多了起来。只有去用了才有持续的学习动力:你说话人家没听懂,你回去继续练;你说话人家听懂了,你有成就感,回去继续学。 六、英语词汇的认知理解 单词记不住是许多英语同学面临的一个棘手的问题,许多单词背了一遍又一遍,但是用的时候还是一副“理屈词穷”的样子。事实上,我们知道任何一种语言的单词都可以分为积极词汇和消极词汇。所谓的积极词汇,是指在日常生活中使用频率非常高的单词;反之则称为消极词汇。第二篇:英语零基础怎么学习
第三篇:零基础如何学习会计
第四篇:零基础可以学习IT吗
第五篇:零基础学习英语