Giter VIP home page Giter VIP logo

python-core-50-courses's Introduction

Python语言基础50课

由于之前发布的 Python 学习项目 Python-100-Days 对初学者来说上手还是有一定难度,所以花了点之间把原来项目中 Python 语言基础部分单独剥离出来,做成了现在这个名为“Python语言基础50课”的项目。现在这个项目用更为简单通俗的方式重写了原来“Python100天”项目中第1天到第15天的部分,有删减也有补充,力求对初学者更加友好,也欢迎大家关注这个持续更新中的项目。国内用户如果访问 GitHub 比较慢的话,也可以关注我的知乎号 Python-Jack 上的“从零开始学Python”专栏,两边同步更新。有需要的小伙伴可以关注我在知乎的专栏、文章和回答,当然,也欢迎大家评论、收藏和点赞。如果需要视频教程,可以到“B站”上搜索《Python零基础快速上手》

最近,国内访问 GitHub 会因为 DNS(域名解析服务)的问题出现图片无法显示的情况,如果你也遇到了这样的问题,可以通过修改本机的 hosts 文件直接对 GitHub 的资源链接进行域名解析来加以解决。使用 macOS 系统的读者可以参考《macOS 下三种修改 hosts 文件的方法》一文来修改 hosts 文件;使用 Windows 系统的读者可以参考《在 Windows 上如何管理 hosts 文件》一文来进行操作。我们可以把下面的内容添加到 hosts 文件的末尾,这样就可以解决 GitHub 上图片无法显示的问题。

151.101.184.133    assets-cdn.github.com
151.101.184.133    raw.githubusercontent.com
151.101.184.133    gist.githubusercontent.com
151.101.184.133    cloud.githubusercontent.com
151.101.184.133    camo.githubusercontent.com

视频资源

视频在抖音和B站都可以找到,有兴趣的小伙伴可以关注我的抖音或B站账号,最近刚刚起号,还希望大家多多支持,非常感谢!

文件资源

教程和视频中用到的文件、代码等内容,请统一访问百度网盘获取。

链接:https://pan.baidu.com/s/1NhWtYcpFzF72cxcsoDoXjQ?pwd=swg1,提取码:swg1。

交流大群

下面是我创建的学习交流群,欢迎加入一起学习共同进步。

  1. 骆昊的Python学习群-1,群号:789050736,2000人大群。
  2. 骆昊的Python学习群-2,群号:837590310,2000人大群。
  3. 骆昊的Python学习群-3,群号:784430256,2000人大群。

python-core-50-courses's People

Contributors

jackfrued avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-core-50-courses's Issues

第11课 字符串is运算错误

第11课
s1 = 'hello world'
s2 = 'hello world'
s3 = s2

比较字符串的内容

print(s1 == s2, s2 == s3) # True True

比较字符串的内存地址

print(s1 is s2, s2 is s3) # False True

s1 is s2 会返回true
s1 s2 s3三个对象引用同一个字符串池

第015课:常用数据结构之字典中关于dict.setdefault方法的说明有误

针对字典中已存在key的情况,应该返回对应的值,而不更新它。

原文内容:

setdefault可以更新字典中的键对应的值或向字典中存入新的键值对
setdefault方法的第一个参数是键,第二个参数是键对应的值
如果这个键在字典中存在,更新这个键之后会返回原来与这个键对应的值
如果这个键在字典中不存在,方法将返回第二个参数的值,默认为None

官方说明:

setdefault(key[, default])
如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None。

python-core-50,第20课发现错误

def calc(*args, **kwargs):
result = 0
for arg in args:
result += arg
for value in kwargs.values():
result += value
### return total

最后应该是return result

26课,关于python-docx模块的问题

我想word插入检索关键词“{name}“,但是为什么“{”和文字不是同一种样式,我尝试设置了还是不行,请问问题在哪里?

第22课更换默认下载源的指令错误

在默认情况下,pip会访问https://pypi.org/simple/来获得三方库相关的数据,但是国内访问这个网站的速度并不是十分理想,因此国内用户可以使用豆瓣网提供的镜像来替代这个默认的下载源,操作如下所示。
pip install ujson
应为
pip install ujson -i http://pypi.douban.com/simple/

第七课百钱百鸡代码问题

原题目为公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只。

"""
《百钱百鸡》问题

Version: 0.1
Author: 骆昊
"""

# 假设公鸡的数量为x,x的取值范围是0到20
for x in range(0, 21):
    # 假设母鸡的数量为y,y的取值范围是0到33
    for y in range(0, 34):
        z = 100 - x - y
        if 5 * x + 3 * y + z // 3 == 100 and z % 3 == 0:
            print(f'公鸡: {x}只, 母鸡: {y}只, 小鸡: {z}只')

该代码穷举方案只出现了3种实际可打印的方案不至3种我的代码修改如下

```python
for x in range(1, 21):
    for y in range(1, 34):
        z = 100 - 5*x - 3*y
        if 5*x + y*3 + z == 100 and z > 0:
            print(f'公鸡: {x}只, 母鸡: {y}只, 小鸡: {z*3}只')

csv存入汉字内容乱码

将数据写入CSV文件

csv存入汉字内容乱码

import csv
import random

with open('scores.csv', 'w',encoding='utf-8') as file:
    writer = csv.writer(file, delimiter='|', quoting=csv.QUOTE_ALL)
    writer.writerow(['姓名', '语文', '数学', '英语'])
    names = ['关羽', '张飞', '赵云', '马超', '黄忠']
    for name in names:
        scores = [random.randrange(50, 101) for _ in range(3)]
        scores.insert(0, name)
        writer.writerow(scores)

第21课 代码是不是有问题

try:
    with open('guido.jpg', 'rb') as file1, open('吉多.jpg', 'wb') as file2:
        data = file1.read(512)
        while data:
            file2.write(data)
            data = file1.read()
except FileNotFoundError:
    print('指定的文件无法打开.')
except IOError:
    print('读写文件时出现错误.')
print('程序执行结束.')

在第一次循环后 read()没参数 是否代表读取剩下所有的内容,这样第一次拆分512字节是不是有没意义了?
初学者,如果说错了请无视

第6课最大公因数,最小公倍数有点小问题

没有考虑x,y的大小,建议修改一下
x = int(input('x = '))
y = int(input('y = '))
if x > y:
x, y = y, x
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print(f'{x}和{y}的最大公约数是{factor}')
print(f'{x}和{y}的最小公倍数是{x * y // factor}')
break

第16课

line 84 '但是使用更加方法' -> '但是使用更加方便'

第八课中代码解释存在部分问题

image
即“items = ['Python', 'Java', 'Go', 'Kotlin']
items.pop(0)
items.pop(len(items) - 1)
print(items)”
这段代码的作用是从一个包含四个字符串元素的列表中删除第一个和最后一个元素,然后输出剩下的两个元素。

具体来说,代码首先定义了一个名为“items”的列表,其中包含四个字符串元素。接着,调用列表的pop()方法,通过指定索引0或(len(items) - 1)来删除列表的第一个或最后一个元素。这里的值为0代表列表的第一个元素,而(len(items) - 1)代表列表的最后一个元素(因为列表的索引从零开始)。

最后,使用print()函数输出经过删除操作之后的列表“items”,也就是['Java', 'Go']这个列表。

第八课存在课程逻辑错误

第08课58行:”......这一点跟我们上一课讲到的字符串有着鲜明的差别......“
上一课并未讲到字符串,字符串的内容安排在第10课,可能是以前在进行课程重构时遗留的bug,请修正

第020课:函数使用进阶 高阶函数的用法 *args的位置有误

存在问题:def calc(*, init_value, op, *args, **kwargs): 这条def语句明显是错误的,上文提及*是一个分隔符,*前面的都是位置参数,而*后面的是是关键字参数,*args就是接收任意多个位置参数。
解决方案:改为def calc(*args, init_value, op, **kwargs):,或者有其他更好的解决方案。

第02课外链失效

《VScode安装使用》的链接失效了

PS:50课后面部分和知乎的不一致

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.