周吔突然抢走键盘,快速输入:
name =“周吔“
“这次没报错!”她转头看他,发梢扫过他下巴,“沈砚快夸我!”
“先別急,”他故意调出控制台,“试试列印name变量。”
她自信地输入:
print(name)
屏幕弹出:
周吔
“看吧,我就说,”
“等等,”他憋著笑,“你怎么知道要直接写变量名?”
“因为……”她眼神飘向窗外,“我刚才偷偷看了半章书!”
“撒谎,”他捏了捏她的耳垂,“书里这节標题是『变量:程式设计师的储物箱』,你连储物箱长什么样都不知道。”
“沈砚!”她捶他肩膀,“你居然考我?”
“那我再考考你,”他在代码里加入新变量:
love =“代码“
print(name +“爱“+ love)
“猜猜会输出什么?”
周吔歪头思考:“周吔爱代码?”
按下回车,屏幕却显示:
周吔爱代码
“为什么没有空格?”她惊呼。
“因为字符串相加等於拼接,”他用滑鼠划出代码,“想加空格,得手动写——”
他修改代码:
print(name +“爱“+ love)
这次输出:
周吔爱代码
“现在才对,”她满意地点头,“就像我对你说『沈砚爱周吔』中间要留足心跳的空隙。”
沈砚的耳尖瞬间泛红,快速最小化窗口:“下节课再学运算符优先级。”
“现在教你写烟代码,”沈砚调出海龟绘图库,“先导入模块。”
周吔突然指著他的代码喊:“等等!你写错了!urtle写成了turtle!”
他定睛一看,果然多了个t:“……你居然能发现?”
“因为我记住了urtle是『乌龟』的意思,”她得意的笑,这时候的她还是准大学生,人生中知识储存量最多的时间点。
“原来你才是隱藏的学霸,”他无奈笑,“那接下来,由周老师指导我画樱?”
“荣幸之至!”她坐直身子,“先画瓣,用for循”
“等等,”他按住她的手,“for循环要记得写冒號,还要缩进。”
“知道啦!”她甩开他的手,输入:
for i in range(5):
turtle.circle(100)
turtle.left(72)
按下运行,一只绿色乌龟在屏幕上画出五边形:
“怎么不是樱?”她皱眉。
沈砚憋笑:“因为你没告诉乌龟,这是樱,不是五边形——”他修改代码,加入顏色和弧度:
for i in range(5):
turtle.color(“pink“)
turtle.circle(100, 72)
turtle.left(144)
粉色瓣在屏幕上缓缓绽放,周吔眼睛发亮:“原来樱的秘诀是144度!”
“也是我每次看你的角度,”他轻声说,“能看到最亮的梨涡。”
陈默抱著文件夹进来,瞥见屏幕上的樱:“哟,老大这是提前过情人节?”
“学编程,”沈砚淡淡道,“別乱猜。”
“学编程需要画樱?”陈默挑眉,“我学的时候只画过二叉树。”
周吔忽然指著代码里的注释:“陈默你看!这行写著『zy的睫毛=37%反光率』!”
“什么?”陈默凑近屏幕,沈砚迅速最小化窗口:“ bug注释,不值一提。”
“明明是——”周吔嘴角笑出弧度,“程式设计师的情话加密术。”
沈砚收拾电脑时,周吔忽然指著他的笔记本:“这是什么?”
页面上是未保存的代码:
if __name__==“__main__“:
while true:
print(“周吔是光“)
“死循环?”她挑眉。
“是程式设计师的执念,”他合上笔记本,“就像我每天睁开眼,第一件事是確认你有没有发消息。”
“那我要给这段代码加个终止条件,”她抢过笔,在后面写下:
if kiss == true:
break
“现在,”她晃著笔笑,“只有收到吻,才能跳出循环喔。”
“霸道,”他嘆气,却在她转头时,快速在她额头落下一吻,“这样,循环终止。”
傍晚bj·字节跳动19层小会议室,沈砚用马克笔在白板上画完循环结构示意图,转头看见周吔正用他的键盘敲《小星星》旋律,樱发卡歪到一边。
“认真点,”他弹了下她的额头,“等会要学的是,”
“等等!”她忽然指著他电脑上的代码片段,“这个import base64是什么?”
“base64加密,”他调出示例代码,“比如把『周吔是光』变成乱码,”
他敲下两行代码:
message =“周吔是光“
cipher = base64.b64encode(message.encode()).decode()
屏幕弹出:
“周吔是光”
周吔眼睛一亮,指尖划过屏幕:“那我现在发消息给妈妈,用这个加密,他是不是就看不懂了?”
“理论上是,”沈砚忍住笑,“但前提是他也要知道解密方法,”
他补全代码:
decrypted = base64.b64decode(cipher.encode()).decode()
print(decrypted)
输出:
周吔是光
“哇!”她拍手,“这是不是黑客常用的技术?”
“黑客?”沈砚挑眉,“黑客更擅长攻防,比如渗透测试、漏洞挖掘——”
“那我能学吗?”她拽了拽他的卫衣袖子,“就像《黑客帝国》里的崔妮蒂,用代码控制世界!”
“控制世界需要先控制变量,”他调出python官方文档,“比如这个os.system函数——”
他输入:
import os
os.system(“shutdown -s -t 60“)
周吔惊呼:“你要关机?!”
“只是演示,”他快速取消命令,“真正的黑客不会用这么粗暴的方式,而是用社会工程学”
“社会工程学?”
“比如,”他忽然凑近她耳边,“假装成快递员骗你开门,或者,”
“停!”她捂住耳朵,“我还是学加密吧,这样给你发消息,別人就偷不走了。”
“小偷要是知道你用base64,”他弹了下她的发卡,“会笑到打鸣。”
周吔忽然抢过键盘,输入:
import random
def hack_shenyan():
return random.choice([“请喝奶茶“,“陪看电影“,“写代码情书“])
“这是什么?”沈砚挑眉。
“黑客程序,”她一本正经,“每次运行都会隨机触发你的『指令』。”
他看著屏幕上跳出:
请喝奶茶
“耍赖,”他嘆气,“这个程序没有终止条件。”
“所以是死循环呀”她晃著手机,“就像我喜欢你,没有终点。”
沈砚的耳尖略微泛红:“下节课学网络爬虫,现在去吃饭。”
路过茶水间时,周吔忽然指著陈默的电脑:“他在干嘛?”
陈默正在用wireshark抓包,屏幕上满是数据流:“抓tiktok的海外请求包,找漏洞。”
“漏洞?”周吔眼睛发亮,“是不是像衣服上的破洞,需要用代码缝补?”
“差不多,”陈默笑道,“比如发现某个接口没有做权限校验,黑客就能——”
“陈默!”沈砚打断他,“你是想让她半夜起来写漏洞报告?”
“不敢不敢,”陈默举手投降,“不过嫂子要是想学,可以参加我们的『白帽黑客训练营』——”
“真的?!”周吔转头看沈砚,眼神发光。
“可以,但每周只能学两小时,”沈砚妥协,“而且必须先写完今天的作业,用base64加密一段台词,发给我。”
“成交!”她伸出小手和沈砚拉勾。