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岁学编程,背水一战的主要内容,如果未能解决你的问题,请参考以下文章
90后天才封神之路:4岁学编程,19岁创办以太坊,4年十亿身家!