文科老狗被迫学了python,进入快乐领域

当然高赞的回答已经很详尽很全面了,但就大多数人的尿性:

妙啊~ 点赞~ 喜欢~ 收藏~ 然后感觉自己汲取了知识满意的返回离开√

接下来我会分享自己学习的经验和自己的笔记,自认为更加易读易理解一些,毕竟是小白写的笔记当然更容易小白理解。

如果你是以下人群,欢迎“三连”:

或许下个学期有python课自己想要预习的

或许初次接触python但自己没有编程基础甚至像我一样的文科生

或许临近期末但苦于python没有复习资料的同学

或许想要基本了解python基本语法以及数据分析爬虫等基本操作的

如果你是有编程经验大佬的话,也希望留步,因为我现在.......也有很多问题QAQ

当然,如果你抱着“30天python速成从入门到大师”“0基础20天学会python成为数据工程师月入过万”等想法趁早离开我这篇回答吧,也趁早关掉网络盖上被子睡觉去吧。python它简单吗,简单,营销号说他简单,广告说他简单毕竟不说简单怎么割你韭菜呢?有编程基础的人说它简单,大牛们说它简单,你也就附和简单了?确实它与其他语言相比更容易接受和学习,可不代表就能高质量速成成为python工程师月入xxxxx了啊,至少一个学期学下来,周围的同学没有一个说简单的,就算是学“技术”的一些浙江考生也在叫苦不迭。一看那些割韭菜的python广告我就来气,因为总有这样一群人:高估短时间学习的效果而低谷其质量和风险,低估长时间学习的质量水平而高估其成本风险。所以如果你是游离于python知识以外杠精,别和我杠,杠就是我对!

“听说现在知乎更新后双击屏幕就能迅速汲取回答里的知识了?”

一、学习历程

1、初识。得知新学期会有编程这门课,平时也被铺天盖地的广告洗过脑于是在寒假笨鸟先飞先学一步。https://www.bilibili.com/video/BV1xs411Q799/?p=65​www.bilibili.com

小甲鱼。

优点:轻松幽默,段子很多;讲解通俗易懂;小项目导向成就感强;弹幕大佬很多就像班里的学霸在线指导;对入门者友好。

缺点:比较老,基础知识上基本变化不大,但个别变化弹幕也会指出来,但等到爬虫后面的还是就算了吧;面向入门讲的比较粗浅。

2、课堂学习。其实也只是老师推了慕课视频,都是枯燥乏味ppt复读机器,老师就.....无为而治了。如果不是因为这是课的原因真的会睡过去。但其实认真听和学习,而且之前听过小甲鱼这类入门课的话还是能学到很多东西的。我们当时学的是东北大学关于python编程的慕课,这里可以选择这类正规系统详细的学习资源去学习。

3、课下学习。每堂课老师会发ppt,我在课下会把老师的ppt、慕课内容以及ppt、课本结合并融入自己的思考和想法做一个思维导图(下面会发),虽然比较耗时,但结果蛮显著的,在基础语法理论这方面掌握的相对较好,在此基础上学习爬虫、数据分析等较为高端的操作也轻松了很多。

4、复习阶段。回顾我思维导图+刷题(考前那一周刷完了题库1300道),不完全是应试心态,是边刷边查边学。

5、这个暑假计划:不贪多嚼不烂,跟着老师推荐的教材《精通scrapy网络爬虫》学习爬虫知识,实现........看片自由(不是QAQ)

很重要的一点是:不论是看视频还是ppt还是教材还是我的复习资料,不论代码看起来多简单,亲 自 动 手 打!

二、思维导图

0、总览

1、python语言基础知识

这张图是第一章的总览,看晕的时候经常回来看看

2、数据结构与函数设计

三、编程模块

这个模块里面会更新一些编程题,配合着上一模块的基础知识来更新#1、编写程序,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。

#普通1

n = int(input("请输入一个正整数n:"))

if n<2:

print("NO")

else:

for i in range(2,n):

if n%i == 0:

print("NO")

break

else:

print("YES")

#普通函数

def isPrime(n):

if n < 2:

return False

elif n == 2:

return True

elif n>2:

for i in range (2,n):

if n%i == 0:

return False

return True

#调用

n = int(input("请输入一个正整数:"))

if isPrime(n) == True:

print("是素数")

else:

print("不是素数")

#函数思路

import math

def IsPrime(v):

n = int(math.sqrt(v)+1)

for i in range (2,n):

if v%i == 0:

return "NO"

else:

return "YES"

#函数2

def IsPrime(v):

n = v // 2

while n>1:

if v % n == 0:

print("NO")

break

n -= 1

else:

print("是素数")

#2、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。

# 如果年份能被400整除,则为闰年

# 如果年份能被4整除但不能被100整除也为闰年

n = int(input("请输入年份:"))

if(n % 4 == 0 and n % 100 != 0) or (n % 400 == 0):

print("YES")

else:

print("NO")

#3、编写程序,用户输入一个三位以上的整数,输出其百位上的数字。

#例如用户输入1234,则程序输出2。(提示:使用整除运算。)

x=int(input("请输入一个三位数以上的整数"))

print(x//100%10)

#4、使用循环和列表推导式两种方法求解百钱买百鸡问题。

#假设大鸡5元一只,中鸡3元一只,小鸡1元三只

#现有100元钱想买100只鸡,有多少种买法?

#循环思路

#大鸡5元 中鸡3元 小鸡1元三只

#100块 买 100只 鸡 几种买法?

#设大鸡x只(5x元) 中鸡y只(3y元) 小鸡z只(z/3元)

#5x+3y+z/3=100

#x+y+z=100

#当x=1时:

# y=1 z=100-1-1

# y=2 z=100-1-2

# ....恰好100块的领出来,z能整除3才算数

#当x=2时:

# y=1 ...

#......

#遍历x

n = 0

for x in range(21):

#在x的前提下遍历y

for y in range(34):

#求z

z = 100-x-y

#如果正好100块就领出来

if z % 3 == 0 and 5*x+3*y+z/3==100:

print(x,y,z)

n+=1

print(n+1)

#列表推导

#写一个列表,最后列表展示出[(x,y,z),(x,y,z).......]

#去掉原来语句的冒号和结尾即可,加上换行和缩进和原语句是一致的

List1=[(a,b,100-a-b)

for a in range(21)

for b in range(34)

if (100-a-b) % 3 == 0 and 5*a+3*b+(100-a-b)//3==100]

print(List1)

#5、创建一个 Student 类,其具有属性: name、 age、 score,用来保存学生的姓名、年龄、成

#绩。此外,(1)写一个函数,输入学生的信息,并用对象来存储这些信息;(2)写一个函数,

#打印这些学生信息。

#标准答案

clss Student():

def __init__(self, name, age, score):

self.name = name

self.age = age

self.score = score

def input_student():

L=[]#用列表存储

while True:

name = input("姓名:")

if not name:

break

age = input("年龄:")

score = input("成绩:")

s = Student(name,age,score)

L.append(s)

return L

def output_student(lst):

for i in lst:

print("姓名:%s 年龄:%s 成绩:%s" % (i.name, i.age, i.score))

def main():

L = input_student()

output_student(L)

main()

#6、设计一个立方体类,定义三个属性,分别是长、宽、高。定义二个方法,分别计算并输

#出立方体的体积和表面积

class Box():

def __init__(self,length,width,high):

self.length = length

self.width = width

self.high = high

def volume(self):

print(self.length*self.width*self.high)

def superficial(self):

print(2*(self.length*self.width+self.length*self.high+self.width*self.high))

b1 = Box(1,1,1)

b1.volume()

b1.superficial()

#7、创建一个Person类,属性有name、weight,分别是姓名、体重,

#显示结果为该对象的姓名和体重;

#创建一个Sportman类,其继承Person类,

#Sportman类具有两个方法:

#eat方法,表示每次吃东西体重会增加1公斤;

#run方法,表示每次运动体重会减少0.5公斤;

#程序中创建一个Sportman对象(姓名和初始体重值自定),

#并通过调用eat和run方法改变这个对象的体重,并重新打印该对象。

#参考答案

class Person:

def __init__(self, name, weight):

self.name = name

self.weight = weight

def __str__(self):

return '我的名字叫%s, 体重是%.2f公斤' % (self.name, self.weight)

class Sportman(Person):

def run(self):

self.weight -= 0.5

def eat(self):

self.weight += 1

sportman1 = Sportman('李', 75.0)

sportman1.run()

sportman1.eat()

print(sportman1)

#8、创建一个学生类,除了具有属性:

#name、age以外,增加一个计数器的属性,用了统计学生实例数量。

#在程序中创建若干学生实例,并显示学生实例数量。

class Student:

"""学生类"""

count = 0 # 计数

def __init__(self, name, age):

self.name = name

self.age = age

Student.count += 1 # 要使得变量全局有效,就定义为类的属性

def learn(self):

print("is learning")

stu1 = Student("Jack", 20)

stu2 = Student("Amy", 21)

stu3 = Student("Lucy", 20)

stu4 = Student("Lulu", 19)

print("实例化了%s个学生" % Student.count)

#9、自定义一个异常,在输入的数据不是数字时发生。

#在程序中故意输入字母,抛出该异常。

class HelloError(Exception):

def __init__(self,n):

self.n=n

try:

n=input("请输入数字:")

if not n.isdigit():

raise HelloError(n)

except HelloError as hi:

print("HelloError:请输入字符。\n您输入的是:", hi.n)

else:

print("未发生异常")

#10编写函数,输入字符串,分别统计大写字母、小写字母、数字、其他字符的个数

#并以元组的形式返回结果

def demo(v):

capital = little = digit = other =0

for i in v:

if 'A'<=i<='Z':

capital+=1

elif 'a'<=i<='z':

little+=1

elif '0'<=i<='9':

digit+=1

else:

other+=1

return (capital,little,digit,other)

x = 'capital = little = digit = other =0'

print(demo(x))

#11、编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和

#利用可变长度参数

def MaxSum(*args):

print("最大值是:",max(args))

print("和是:",sum(args))

#调用

MaxSum(12,23,34,46,1234)

#12、编写递归函数,计算n!(n=10)

def funJC(n):

if n == 0 or n == 1:

return 1

else:

return n * funJC(n-1)

print("当n=10时,n!的结果是:",funJC(10))

百钱买百鸡python创新编程_编程零基础应当如何开始学习 Python?相关推荐

  1. 百钱买百鸡python编程列表推导式_使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?...

    [程序题]编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n [单选题]患者男,67岁.确诊为原发性支气管肺癌,为行手术 ...

  2. 微课|中学生可以这样学Python(例4.3):百钱买百鸡

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第4章  循环结构 4.3  精彩例题分析与解答--例4.3  百钱买百鸡 京东购买链接:http ...

  3. python百钱买百鸡问题算法_百钱买百鸡问题的伪代码算法?

    不同的编程语言,对于判断语句,循环语句等的写法是不一样的.但对于同一问题,我们只关心算法,于是就提出了伪代码,统一一下判断语句怎么写,循环语句怎么写,这样无论程序员学的是 C++,还是 JAVA,还是 ...

  4. python百钱买百鸡-百钱买百鸡的Python实现

    "百钱买百鸡"是一个很有历史的问题了,大意就是:小鸡半文一只,母鸡一文一只,公鸡二文一只,现有一百文钱,刚好买了一百只鸡,请问小鸡.母鸡与公鸡各有多少只? 如果假设小鸡.母鸡和公鸡 ...

  5. 【C语言基础练习】百钱买百鸡问题。母鸡3元钱一只,小鸡1元钱三只,问100元钱要刚好买100只鸡,编程实现母鸡和小鸡各多少只?

    百钱买百鸡问题.母鸡3元钱一只,小鸡1元钱三只,问100元钱要刚好买100只鸡,编程实现母鸡和小鸡各多少只? 1 #include<stdio.h>2 int main()3 {4 int ...

  6. Python输入账号密码判断是否正确并输出,典型案例-百钱买百鸡的两个程序代码

    目录 前 一.输入账号密码判断是否正确并输出 1.实现的功能 2.代码程序 3.运行截图 二.典型案例-百钱买百鸡 1.实现的功能 2.代码程序 3.运行截图 前言 1.因多重原因,本博文由两个程序代 ...

  7. python百钱买百鸡代码_python解决百钱买百鸡

    百钱买百鸡 关注公众号"轻松学编程"了解更多. 现有100钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只 要求:公鸡.母鸡,小鸡都要有,把100文钱花完,买的鸡的数量正好是10 ...

  8. python——百钱买百鸡:一只公鸡5块钱,一只母鸡3块钱,三只小鸡1块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

      学习<python程序设计教程>的时候,遇到了这个问题,觉得还蛮好玩的: 百钱买百鸡:一只公鸡5块钱,一只母鸡3块钱,三只小鸡1块钱,现在要用一百块钱买一百只鸡,问公鸡.母鸡.小鸡各多 ...

  9. 用Python输出百钱买百鸡问题的答案

    这是一道经典的数学问题:百钱买百鸡. 问题描述:公鸡5元一只,母鸡3元一只,小鸡3只一元,用100块钱买100只鸡,请问公鸡.母鸡.小鸡各几只? 下面是使用 Python 解决这个问题的代码: for ...

最新文章

  1. 1 OC 对象的本质(一个NSObject 对象占用的内存大小)
  2. Python reverse
  3. mysql ibatis 分页_MyBatis怎样实现MySQL动态分页?
  4. 二叉树的遍历(前,中,后)
  5. 持续集成接口自动化-jmeter+ant+jenkins(一)
  6. 多网卡无法上外网的解决
  7. 利用福禄克DSX2-5000 CH解决双绞线布线中常见的故障
  8. python是谁维护的_Python是维护拆分的更可靠的方法
  9. android h5页面跳转,android H5 应用内跳转Scheme协议
  10. mysql中毫秒的保存类型
  11. [转载] Python利用openpyxl模块读取excel文件内容
  12. hihoCoder week10 后序遍历
  13. mvc:annotation-driven/与mvc:default-servlet-handler/之间的一个问题(转)
  14. linux系统rc路由配置_Linux下路由配置梳理
  15. js中文转拼音插件源码
  16. ypid编码是什么_国家药品供应保障综合管理信息平台YPID编码规则与应用
  17. (附源码)APP+spring boot心理健康线上咨询系统 毕业设计 031539
  18. 从一个class文件深入理解Java字节码结构
  19. iOS程序员如何成为编程高手,并以此创业
  20. CRS-4544: Unable to connect to OHAS has启动失败

热门文章

  1. 上班族干什么副业挣钱?目前很好的3类副业,你都做过吗?
  2. apache 302重定向
  3. 一文搞懂电力系统调度数据网4+1+1区
  4. 控制台 钢铁雄心2_《钢铁雄心2》游戏秘籍指令/科技/事件代码2、事件代码
  5. 81条不为大多人了解却十分好用的小窍门
  6. eMMC5.1入门教程【1】eMMC简介与协议概览
  7. 风险定量分析工具之龙卷风图
  8. java线程池面试题有哪些?java线程池常见面试题
  9. linux 编译mqtt静态库_Windows 编译 MQTT C++
  10. 初识Oracle-关于Oracle