45岁学编程,背水一战

Posted 蒋白白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了45岁学编程,背水一战相关的知识,希望对你有一定的参考价值。

掐指一算,2022年的我,已经45岁了,父辈们在这个年龄有的已经抱孙子了,准备开始颐养天年了。

在2019的年初计划中,自己在计划中立了个Flag—学编程。都这个年纪了,才开始学编程,会不会是头脑发热,一时热血呢?

01 我有编程史


我本是计算机软件专业毕业,工作后也一直从事软件开发工作,可以说还是有些编程基础的。但10年前已经逐渐不动手编程了,当时大家都说编程是吃青春饭的,35岁以后不转行就来不及了。所谓的转行一般还是在IT圈子中,无非是有程序员转成系统分析、项目经理、市场营销等等吧。在这种思想下,10年间远离编程,有时还以此作为吹嘘的说辞。

02 我想学编程


为什么这个年龄还想学编程?我的想法有如下几点:

编程是大势。IT的发展离不开编程,现在很火的人工智能、大数据等也离不开编程,数字化的时代已经是不争的事实,看准了趋势的方向,为啥不勇往直前。

编程是爱好。程序员的乐趣其他人很难体会的到,每当一个小小的功能作品完成,都会抑制不住内心的激动与欣喜,成功者的喜悦随时都会降临,喜欢是不需要理由的。

编程是本领。掌握编程这项技能,就会在自己成长的兵器库中多添一项本领。既然编程是大势,是今后发展的必备技能,为何不熟练掌握呢?艺不压身,艺高人胆大,是需要用编程给自己壮壮胆的时候啦。

编程是表率。虽然多年不编程,但依然在做IT管理工作,学习编程、关注技术、践行成长,这也是在给团队的小伙伴们打个样,45岁的我能行,年轻的你,一定也能行。

编程是传承。孩子刚上大学,学的是软件工程专业,爷俩经常聊起编程的那些事,孩子已经长大,虽已骑上马,但仍想再送一程,重拾编程,也许还能让我再陪孩子多走一程吧。


45岁学编程,并不是说45岁从零开始学编程,虽说大部分编程语言都生疏了,但基本的体系和思想还是依稀记得的,这也为后续的学习奠定了很好的基础。

吴军老师多次说过,他和谷歌的很多老员工都能熟练编程,解决实际问题,相比之下,我45岁这个年龄学习些编程的技术也就没有什么稀奇的了,对于60岁学写字、75岁写作、82岁出版4部小说的励志老人姜淑梅来说,45岁这个起点已经拥有太多的优势。

我相信百岁人生,在百岁这个坐标系下,45岁学编程,我的故事才刚刚开始!

最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、Python练习题

检查学习结果。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

35岁学编程第10天

参考技术A

之前有位粉丝说我写的东西像复制粘贴的,自己一看还真是像,以后会尽量改正。

练习题

练习 5-8:以特殊方式跟管理员打招呼 创建一个至少包含 5 个用户名的列表,且

其中一个用户名为\'admin\'。想象你要编写代码,在每位用户登录网站后都打印一条文字

好消息。遍历用户名列表,并向每位用户打印一条问候消息。如果用户名为\'admin\',就打印一条特殊的问候消息,如下所示。 Hello admin, would you like to see a status report? 否则,打印一条普通的问候消息,如下所示。 Hello Jaden, thank you for logging in again.

步骤

创建一个至少包含 5 个用户名的列表,且 其中一个用户名为\'admin\'

这个要求是简单的创建列表,列表中包含’admin’的元素。

user_names = [\'admin\',\'wangwei\',\'lijie\',\'xufeng\',\'jaden\']

想象你要编写代码,在每位用户登录网站后都打印一条文字好消息。想象你要编写代码,在每位用户登录网站后都打印一条文字 好消息。遍历用户名列表,并向每位用户打印一条问候消息。如果用户名为\'admin\',就打印一条特殊的问候消息,如下所示。 Hello admin, would you like to see a status report? 否则,打印一条普通的问候消息,如下所示。 Hello Jaden, thank you for logging in again.

这个就是if语句的简单用法:

"""
以特殊方式跟管理员打招呼
"""
# 创建一个至少包含 5 个用户名的列表,且其中一个用户名为\'admin\'。
user_names = [\'admin\' , \'wangwei\' , \'lijie\' , \'xufeng\' , \'jaden\']
for user_name in user_names: # 遍历用户列表
if user_name == \'admin\': # 判断用户是否为admin
print(f"Hello user_name,would you like to see a status report")
else:
print(f"Hello user_name.title(),thank you for logging in again.")

以后写代码会加上注释慢慢养成习惯,并规范他

练习 5-9:处理没有用户的情形 在为完成练习 5-8 编写的程序中,添加一条 if 语

句,检查用户名列表是否为空。如果为空,就打印如下消息。 We need to find some users!

删除列表中的所有用户名,确定将打印正确的消息

user_names = []
if user_names: #判断是否列表为空
for user_name in user_names: # 遍历用户列表
if user_name == \'admin\': # 判断用户是否为admin
print(f"Hello user_name,would you like to see a status report")
else:
print(f"Hello user_name.title(),thank you for logging in again.")
else:
print("We need to find some users!")

这里是在遍历for语句前加个if语句判断 user_names列表是否有元素,是执行for语句,不是输出We need to find some users!

练习 5-10:检查用户名 按下面的说明编写一个程序,模拟网站如何确保每位用户

每个用户名都独一无二。

创建一个至少包含 5 个用户名的列表,并将其命名为 current_users。

再创建一个包含 5 用户名的列表,将其命名为 new_users,并确保其中有一两

用户名也包含在列表 current_users 中。

遍历列表 new_users,对于其中的每个用户名,都检查它是否已被使用。如果是,

就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个

用户名未被使用。

确保比较时不区分大小写。换句话说,如果用户名\'John\'已被使用,应拒绝用

户名\'JOHN\'。(为此,需要创建列表 current_users 的副本,其中包含当前所有

用户名的小写版本。)

本题前三问都很简单重点是第四问创建列表current_users的副本存放current_users 的小写版本:

创建一个空的列表

current_users_lower =[]

把current_users列表中的元素转化成小写在存入新列表current_user_lower中

for user in current_users:
current_users_lower.append(user.lower())

再从new_users列表中遍历每个元素,转化成小写后再与列表current_users_lower中的元素比较

for user in new_users:
if user.lower() in current_users_lower:
print(f"user has been used . You need to enter another user name:")
else:
print(f"user,Has not been used.")

练习 5-11:序数 序数表示位置,如 1st 和 2nd。序数大多以 th 结尾,只有 1、2

和 3 例外。

在一个列表中存储数字 1 9。

遍历这个列表。

在循环中使用一个 if-elif-else 结构,以打印每个数字对应的序数。输出内容

应为"1st 2nd 3rd 4th 5th 6th 7th 8th 9th",但每个序数都独占一行。

ordinals = list(range( 1,10 ))
print(ordinals)
for number in ordinals:
if number == 1 :
print(f"numberst")
elif number == 2 :
print(f"numbernd")
elif number == 3 :
print(f"numberrd")
else:
print(f"numberth")

If语句学习就到这里下面是字典的内容

字典示例

什么是字典

字典就是一系列键值对

alien_0 = \'color\': \'green\' , \'points\': 5

alien_0表示字典的名称

=是为字典赋值

Python 中,字典用放在花括号中的一系列键值对表示

什么是键值对

\'color\': \'green\' , \'points\': 5

其中‘color’是键 :后的‘green‘是值,不同的键值对有逗号隔开

键值是两个相关联的值。指定键时,Python 将返回与之相关联的值。和值之间用冒号分 隔,而键值对之间用逗号分隔。在字典中,想存储多少个键值对都可以。

访问字典中的值

我们知道了什么是字典,哪如何使用字典,首先访问字典中的值,

alien_0[\'points\']

’points‘就是要访问的键python会返回这个键对应的值。

添加键值对

之后就是对字典就行修改了,字典是一个动态的,可随时更改

在字典中添加键值对

alien_0[\'x_position\'] = 0

字典alien_0中创建新的键’x_position‘复制为0

修改字典中的值

添加之后就是修改字典中的值

修改字典中的值就是对字典中的已有键重新赋值

alien_0[\'color\'] = \'yellow\'

删除键值对

对于字中不再需要的信息,可使用 del 语句将相应的键值对彻底删除。使用 del 语句时,

必须指定字典名和要删除的键。

del alien_0[\'y_position\']

由类似对象组成的字典

字典可以是由一个对象的多种信息组成也可以是,多个对象的同种信息组成。

favorite_languages =
\'jen\': \'Python\' ,
\'sarah\': \'C\' ,
\'edward\': \'ruby\' ,
\'phil\': \' Java\'

举例中字典的键是不同的人, 值是编程语言

使用 get() 来访问值

alien_0.get(\'point\' , \'No point value assigned.\')

get()中的第一个参数是字典的中的键,第二个参数是指定键不存在的时候返回的值

get()的功能是取字典中的一个键如果存在就返回其值,如果不存在就返回第二个参数

练习 6-1:人 使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键 first_name、last_name、age 和 city。将存储在该字典中的每项信息都打印出来。

# 创建包含4个键值对的字典person_message
person_messages =
\'first_name\': \'bill\' ,
\'last_name\' : \'gates\' ,
\'age\': 60,
\'city\': \'seattle\'

print(person_messages[\'first_name\'])
print(person_messages[\'last_name\'])
print(person_messages[\'age\'])
print(person_messages[\'city\'])

练习 6-2:喜欢的数 使用一个字典来存储一些人喜欢的数。请想出 5 个人的名字,

并将这些名字用作字典中的键;找出每个人喜欢的一个数,并将这些数作为值存储在字

典中。打印每个人的名字和喜欢的数。为了让这个程序更有趣,通过询问朋友确保数据

是真实的。

favorite_numbers =
"""
\'bill gates\': 5,
\'elon musk\': 10,
\'steve jobs\': 15,
\'jeff bezos\': 20,
\'larry ellison\': 25
"""
favorite_numbers[\'bill gates\'] = 5
favorite_numbers[\'elon musk\'] = 10
favorite_numbers[\'steve jobs\'] = 15
favorite_numbers[\'jeff bezos\'] = 20
favorite_numbers[\'larry ellison\'] = 25
value = favorite_numbers[\'bill gates\']
print(f"Bill Gates favorite number is value.")
value = favorite_numbers[\'elon musk\']
print(f"Elon Musk favorite number is value.")
value = favorite_numbers[\'steve jobs\']
print(f"Steve Jobs favorite number is value.")
value = favorite_numbers[\'jeff bezos\']
print(f"Jeff Bezos favorite number is value.")
value = favorite_numbers[\'larry ellison\']
print(f"Larry Ellison favorite number is value.")

练习 6-3:词汇表 Python 字典可用于模拟现实生活中的字典。为避免混淆,我们

将后者称为词汇表。

想出你在前面学过的 5 个编程术语,将其用作词汇表中的键,并将它们的含义

作为值存储在词汇表中。

以整洁的方式打印每个术语及其含义。为此,可先打印术语,在它后面加上一

个冒号,再打印其含义;也可在一行打印术语,再使用换行符( )插入一个

空行,然后在下一行以缩进的方式打印其含义。

glossaryes =
\'string\': \'字符串\' ,
\'comment\': \'注释\' ,
\'dictionary\':\'字典\' ,
\'list\': \'表\' ,
\'loop\': \'循环\' ,

word = \'string\'
print(f" word.title(): glossaryes[word]")
word = \'comment\'
print(f" word.title(): glossaryes[word]")
word = \'dictionary\'
print(f" word.title(): glossaryes[word]")
word = \'list\'
print(f" word.title(): glossaryes[word]")
word = \'loop\'
print(f" word.title(): glossaryes[word]")

遍历所有键值对

for k, v in user_0.items()

遍历2个变量一个k是用来存储键,v用来存储值的

.items()方法

字典items()以列表返回可遍历的(键,值)的元组数组

friends = [\'phil\' , \'sarah\']
for name in favorite_languages.keys():
print(f"Hi name.title().")
if name in friends:
language = favorite_languages[name]
print(f" name.title(),I see you love language.")
if \'erin\' not in favorite_languages.keys():
print("Erin , please take our poll!")

Favorite_languages.keys()把字典favorite_languages中的键来组成一个列

Favorite_languages.values()把字典favorite_languages中的值来组成一个列

练习 6-4:词汇表 2 现在你知道了如何遍历字典,可以整理为完成练习 6-3 而编写

的代码,将其中的一系列函数调用 print()替换为一个遍历字典中键和值的循环。确定

该循环正确无误后,再在词汇表中添加 5 个 Python 术语。当你再次运行这个程序时,

这些新术语及其含义将自动包含在输出中。

glossaryes =
\'string\': \'字符串\' ,
\'comment\': \'注释\' ,
\'dictionary\':\'字典\' ,
\'list\': \'表\' ,
\'loop\': \'循环\' ,

for name , mean in glossaryes.items():
print(f"name.title(): mean")
glossaryes[\'function\'] = \'函数\'
glossaryes[\'method\'] = \'方法\'
glossaryes[\'statement\'] = \'语句\'
glossaryes[\'retract\'] = \'缩进\'
glossaryes[\'tuple\'] = \'元组\'
for name , mean in glossaryes.items():
print(f"name.title(): mean")

练习 6-5:河流 创建一个字典,在其中存储三条重要河流及其流经的国家。例如,

一个键值对可能是\'nile\': \'egypt\'。

使用循环为每条河流打印一条消息,下面是一个例子。

The Nile runs through Egypt.

使用循环将该字典中每条河流的名字打印出来。

使用循环将该字典包含的每个国家的名字打印出来。

# 创建一个空的字典rivers
rivers =
# 为字典rivers添入信息
rivers[\'nile\'] = \'egupt\'
rivers[\'amazon\'] = \'brazil\'
rivers[\'the ganges\'] = \'india\'
# 遍历rivers字典中的键值对
for river , state in rivers.items():
print(f"The river.title() runs through state.title().")
for river in rivers.keys():
print(river.title())
for state in rivers.values():
print(state.title())

练习 6-6:调查 在 6.3.1 节编写的程序 favorite_languages.py 中执行以下操作。

创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人

未包含在字典中。

遍历这个人员名单。对于已参与调查的人,打印一条消息表示感谢;对于还未

参与调查的人,打印一条消息邀请他参加。

favorite_languages =
\'jen\': \'Python\' ,
\'sarah\': \'C\' ,
\'edward\': \'ruby\' ,
\'phil\': \'Python\'

survey_list = [\'jen\' , \'sarah\' , \'bill\' , \'musk\']
for name in survey_list:
if name in favorite_languages.keys():
print(f"感谢 name.title().")
else:
print(f"name.title(),邀请你参加调查.")

嵌套

将字典完整的看成一个元素存入列表中,可在字典中嵌套列表甚至字典。

alien_0 = \'color\': \'green\' , \'points\': 5
alien_1 = \'color\': \'yellow\' , \'points\': 10
alien_2 = \'color\': \'red\' , \'points\': 15
aliens = [alien_0 , alien_1 , alien_2]

练习 6-7:人们 在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,

然后将这三个字典都存储在一个名为 people 的列表中。遍历这个列表,将其中每个人

的所有信息都打印出来

person_0 =
\'first\': \'bill\' ,
\'last\' : \'gates\' ,
\'age\': 60,
\'city\': \'seattle\' ,

person_1 =
\'first\': \'elon\' ,
\'last\': \'musk\' ,
\'age\': 50,
\'city\': \'san francisco\' ,

person_2 =
\'first\': \'jeff\' ,
\'last\': \'bezos\' ,
\'age\': 55,
\'city\': \'new york\' ,

people = [person_0 , person_1 , person_2]
for person in people:
name = f"person[\'first\'] person[\'last\']"
age = person[\'age\']
city = person[\'city\']
print(f"name.title() :")
print(f" Age :age")
print(f" City :city.title() ")

练习 6-8:宠物 创建多个表示宠物的字典,每个字典都包含宠物的类型及其主人

的名字。将这些字典存储在一个名为 pets 的列表中,再遍历该列表,并将有关每个宠

物的所有信息都打印出来。

# 创建一个pets的空列表
pets = []
# 创建多个宠物的字典,每个字典包含宠物类型和主人名称
pet =
\'variety\': \'dog\' ,
\'master\': \'john\' ,

pets.append(pet)
pet =
\'variety\': \'cat\' ,
\'master\': \'jeff\' ,

pets.append(pet)
pet =
\'variety\': \'hamster\' ,
\'master\': \'jenny\' ,

pets.append(pet)
for pet in pets:
name = pet[\'master\'].title()
variety = pet[\'variety\'].title()
print(f"name pet is a variety")

John pet is a Dog

Jeff pet is a Cat

Jenny pet is a Hamster

练习 6-9:喜欢的地方 创建一个名为 favorite_places 的字典。在这个字典中,

将三个人的名字用作键,并存储每个人喜欢的 1 3 个地方。为了让这个练习更有趣些,

可以让一些朋友说出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其

喜欢的地方打印出来。

# 创建一个字典其中是列表镶嵌在字典中
favorite_places =
\'jeff\': [\'new york\' , \'tokyo\'] ,
\'bill\': [\'pairs\'] ,
\'elon\': [\'london\' , \'beijng\' , \'hong kong\'] ,

# 遍历字典将键赋值name 将值赋予places 赋值完name是个字符串 places是个列表
for name , places in favorite_places.items():
print(f"name.title()\'s favorite places is :")
# 遍历列表places中的值赋予place
for place in places:
print(f" -place")

练习 6-10:喜欢的数 2 修改为完成练习 6-2 而编写的程序,让每个人都可以有多

个喜欢的数,然后将每个人的名字及其喜欢的数打印出来。

# 创建一个空的字典
favorite_numbers =
# 往字典中添加信息 ‘人名’和喜欢的数字
favorite_numbers[\'bill gates\'] = [ 5,7 ]
favorite_numbers[\'elon musk\'] = [ 10,13 ]
favorite_numbers[\'steve jobs\'] = [ 15,18 ]
favorite_numbers[\'jeff bezos\'] = [ 20,22,23 ]
favorite_numbers[\'larry ellison\'] = [ 25,26,30,33 ]
for name , numbers in favorite_numbers.items():
print(f"name.title()\'s favorite number is :")
for number in numbers:
print(f" -number")

练习 6-11:城市 创建一个名为 cities 的字典,将三个城市名用作键。对于每座

城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城

市的事实。在表示每座城市的字典中,应包含 country、population 和 fact 等键。将每

座城市的名字以及有关信息都打印出来。

# 创建4个字典
cities =
city_01 =
city_02 =
city_03 =
# 给每个字典赋值
city_01[\'country\'] = \'japan\'
city_01[\'population\'] = 13_500_000
city_01[\'fact\'] =\'The southern kanto plain of Honshu island.\'
city_02[\'country\'] = \'usa\'
city_02[\'population\'] = 10_000_000
city_02[\'fact\'] = \' northeast of the Atlantic coast of the United States\'
city_03[\'country\'] = \'china\'
city_03[\'population\'] = 21_530_000
city_03[\'fact\'] =\' Northwest margin of north China Plain\'
cities[\'tokyo\'] = city_01
cities[\'new york\'] = city_02
cities[\'beijing\'] = city_03
# 遍历字典输出每个信息
for name , messages in cities.items():
name = name.title()
country = messages[\'country\'].title()
population = messages[\'population\']
fact = messages[\'fact\'].title()
print(f"name:")
print(f" -Country:country")
print(f" -Population:population")
print(f" -Fact:fact")

Tokyo:

-Country:Japan

-Population:13500000

-Fact:The Southern Kanto Plain Of Honshu Island.

New York:

-Country:Usa

-Population:10000000

-Fact: Northeast Of The Atlantic Coast Of The United States

Beijing:

-Country:China

-Population:21530000

-Fact: Northwest Margin Of North China Plain

以上是关于45岁学编程,背水一战的主要内容,如果未能解决你的问题,请参考以下文章

现在27岁学python来得及吗?

35岁学编程第10天

90后天才封神之路:4岁学编程,19岁创办以太坊,4年十亿身家!

90后天才封神之路:4岁学编程,19岁创办以太坊,4年十亿身家!

10岁男孩震惊苹果CEO,6岁学编程开发5款应用

“8岁学编程,入行近40年,我总结了15条程序员经验宝典”