【腾讯云 Cloud Studio 实战训练营】基于Cloud Studio完成简易通讯录

目录

[🔆Cloud Studio](#🔆Cloud Studio)

简介

操作步骤

1.登录

2.创建工作空间

3.初始界面

4.开发空间

5.保存自定义模板

🔆简易通讯录

1.实验要求

2.操作环境

3.源代码介绍

[3.1 定义通讯录类](#3.1 定义通讯录类)

[3.2 定义通讯录列表](#3.2 定义通讯录列表)

[3.3 添加联系人功能](#3.3 添加联系人功能)

[3.4 修改联系人](#3.4 修改联系人)

[3.5 删除联系人记录](#3.5 删除联系人记录)

[3.6 查询联系人](#3.6 查询联系人)

[3.7 保存联系人](#3.7 保存联系人)

[3.8 将联系人排序](#3.8 将联系人排序)

4.实验结果与分析

🔆总结


🔆Cloud Studio

简介

Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能在线编程。Cloud Studio 作为在线 IDE,包含代码高亮、自动补全、Git 集成、终端等 IDE 的基础功能,同时支持实时调试、插件扩展等,可以帮助开发者快速完成各种应用的开发、编译与部署工作。

详细信息请参考官方文档,点击这里哦:Cloud Studio(云端 IDE)简介 | Cloud Studio

操作步骤

1.登录

Cloud Studio 在线编程平台支持使用CODING账号和 GitHub 账号登录,可以在登录 (opens new window)界面输入相应的账号登录前往 Web IDE。

推荐使用第一种登陆方式,省时省力,这是它的网址:CODING

2.创建工作空间

目前可用模板非常全面,分为:常用模板、框架模板、建站模板以及云原生模板。本次实验中,我选择的是python模板,直接点击即用,免安装!而且标准版每个有3000分钟的免费时长哦。

进入 Cloud Studio 云端 IDE,可以通过两种方式创建工作空间,第一种方式:点击模板直接创建工作空间,第二种方式:单击【新建工作空间】,进入工作空间创建页面。

  • 第一种方式点击模板创建工作空间,可自动生成工作空间名称,并运行模板的预置环境及样本代码。
  • 第二种方式创建工作空间需要选择预置环境,填写工作空间名、描述,并选择运行环境和代码来源。

3.初始界面

工作空间是我们主要的工作区域,主要由顶部菜单栏、左侧操作面板、右侧代码编辑区和底部状态栏组成。您可以根据自己的习惯设置界面外观、偏好,安装自己需要的插件。

4.开发空间

点击左上角的按钮,这里有全部空间和近期删除。我我,当我们关闭当前工作空间时,可以在下面这个地方找到,并且接着编辑,数据不会丢失,不过工作空间需要手动关闭,仅仅将页面叉掉是不算的(对于处在"运行中"状态的工作空间,单击卡片右边的【停止】,就可以停止运行该工作空间)。

在全部空间的右侧还有一个近期删除,为了防止误删除,已删除的工作空间会展示在下方"已删除的工作空间"列表中,保留24小时。在此之前您可以随时单击【恢复】,还原您的工作空间,超过 24 小时未恢复的工作空间将被永远销毁。

5.保存自定义模板

点击功能栏中的"文件",在下拉选项中选择"发布自定义模板";

右侧布局窗口中会自动打开新标签页,可以选择您心仪的图标和标签,以及填写您模板的描述;点击"完成"即可发布您的自定义模板。

完成后我们就可以通过链接的方式,将自己的代码分享给别人啦,这样对方就可以接着已经编好的程序继续编写啦,相当的方便。

综上,就是Cloud Studio基本的操作步骤啦!

🔆简易通讯录

1.实验要求

以本班同学的具体数据为背景,设计一个本班同学的通讯录,通讯录中至少要包含姓名、性别、年龄、专业、地址、电话、E-mail信息。

通讯录要求实现以下功能:

(1)通讯录可以添加、修改和删除记录;

(2)通讯录可以按照不同项目进行查找;

(3)对已存在的通讯录可以按照不同的项目排序;

(4)可以把通讯录中的信息保存到文件中;

2.操作环境

  • Python 3.11.1
  • Cloud Studio
  • 内核 CPU:2核
  • 内存 RAM:4GB
  • 存储 SSD:8GB

3.源代码介绍

3.1 定义通讯录类

定义__init__方法,其中一共有七个属性:name, gender, age, major, address, phone, email(姓名/性别/年龄/专业/地址/电话/邮箱)。

python 复制代码
class Contact:
    def __init__(self, name, gender, age, major, address, phone, email):
        self.name = name
        self.gender = gender
        self.age = age
        self.major = major
        self.address = address
        self.phone = phone
        self.email = email

3.2 定义通讯录列表

python 复制代码
contact_list = []

3.3 添加联系人功能

这个列表不能直接print ,可以这么干:

for contact in contact_list:

print(contact.name, contact.gender, contact.age, contact.major, contact.address, contact.phone, contact.email)

python 复制代码
def add_contact():
    name = input("请输入姓名:")
    gender = input("请输入性别:")
    age = input("请输入年龄:")
    major = input("请输入专业:")
    address = input("请输入地址:")
    phone = input("请输入电话:")
    email = input("请输入邮箱:")
    contact = Contact(name, gender, age, major, address, phone, email)
    contact_list.append(contact)
    print("添加成功!")

3.4 修改联系人

python 复制代码
def modify_contact():
    name = input("请输入要修改的联系人姓名:")
    for contact in contact_list:
        if contact.name == name:
            contact.gender = input("请输入新的性别:")
            contact.age = input("请输入新的年龄:")
            contact.major = input("请输入新的专业:")
            contact.address = input("请输入新的地址:")
            contact.phone = input("请输入新的电话:")
            contact.email = input("请输入新的邮箱:")
            print("修改成功!")
            return
    print("未找到该联系人!")

3.5 删除联系人记录

remove():删除指定元素

格式:List_name.remove(想要删除的东西)

如果列表中有相同的元素,就删除第一个出现的元素

删除联系人后要选择保存,才能删除文件中的内容。

python 复制代码
def delete_contact():
    name = input("请输入要删除的联系人姓名:")
    for contact in contact_list:
        if contact.name == name:
            contact_list.remove(contact)
            print("删除成功!")
            return
    print("未找到该联系人!")

3.6 查询联系人

append()函数在列表末端增加元素

格式:List_name.append('新增元素')

列表A.append(列表B)

python 复制代码
def search_contact():
    search_type = input("请输入要查找的项目(姓名/性别/年龄/专业/地址/电话/邮箱):")
    keyword = input("请输入关键字:")
    result = []
    for contact in contact_list:
        if search_type == "姓名" and contact.name == keyword:
            result.append(contact)
        elif search_type == "性别" and contact.gender == keyword:
            result.append(contact)
        elif search_type == "年龄" and contact.age == keyword:
            result.append(contact)
        elif search_type == "专业" and contact.major == keyword:
            result.append(contact)
        elif search_type == "地址" and contact.address == keyword:
            result.append(contact)
        elif search_type == "电话" and contact.phone == keyword:
            result.append(contact)
        elif search_type == "邮箱" and contact.email == keyword:
            result.append(contact)
    if len(result) == 0:
        print("未找到符合条件的联系人!")
    else:
        for contact in result:
            print("姓名:{},性别:{},年龄:{},专业:{},地址:{},电话:{},邮箱:{}".format(contact.name, contact.gender, contact.age, contact.major, contact.address, contact.phone, contact.email))

3.7 保存联系人

定义save_contact函数,通过打开"contact.txt"文件,依次将信息写入。

python 复制代码
def save_contact():
    with open("contact.txt", "w") as f:
        for contact in contact_list:
            f.write("{},{},{},{},{},{},{}\n".format(contact.name, contact.gender, contact.age, contact.major, contact.address, contact.phone, contact.email))
    print("保存成功!")

3.8 将联系人排序

这部分将排序后的信息并没有写入文件,但是可以通过选择保存联系人后,将排序好的信息写入文件中。

python 复制代码
def sort_contact():
    sort_type = input("请输入要排序的项目(姓名/性别/年龄/专业/地址/电话/邮箱):")
    if sort_type == "姓名":
        contact_list.sort(key=lambda contact: contact.name)
    elif sort_type == "性别":
        contact_list.sort(key=lambda contact: contact.gender)
    elif sort_type == "年龄":
        contact_list.sort(key=lambda contact: contact.age)
    elif sort_type == "专业":
        contact_list.sort(key=lambda contact: contact.major)
    elif sort_type == "地址":
        contact_list.sort(key=lambda contact: contact.address)
    elif sort_type == "电话":
        contact_list.sort(key=lambda contact: contact.phone)
    elif sort_type == "邮箱":
        contact_list.sort(key=lambda contact: contact.email)
    else:
        print("输入有误!")
        return
    for contact in contact_list:
        print("姓名:{},性别:{},年龄:{},专业:{},地址:{},电话:{},邮箱:{}".format(contact.name, contact.gender, contact.age, contact.major, contact.address, contact.phone, contact.email))

4.实验结果与分析

添加并保存联系人:

按名称排序:

剩下的功能我就不一一验证了,简易通讯录的代码实现,包括添加、修改、删除、查找、排序联系人以及保存联系人等功能。代码实现的基本思路是定义一个通讯录类,然后通过列表进行增删改查和排序等操作,并且可以将通讯录内容保存到文件中。

在代码实现上,对于用户输入的数据进行了简单的校验,保证了数据的有效性和安全性。同时,可以根据不同的项目进行查找和排序,提高了实用性。但是这个代码的健壮性不够好,堪堪能应付一下大学生课设。

总之,这个通讯录管理系统是一个简单的项目,但是可以帮助开发者熟悉Python的基本语法和面向对象的编程思想。其实现也可以作为其他项目的基础框架,对于初学者来说是一个不错的学习资源。

🔆总结

通过体验Cloud Studio编写代码体验良好,尤其是线上编辑器这点我是非常喜欢的,因为我的电脑比较小,平时装的一些东西就已经很多了。操作界面类似VS Code,可以按照平时的习惯来操作,省着去适应一个新的IDE。

对我来说,最大的好处就是比如我要学习什么语言学习什么框架的话,不用在本地搭建各种开发环境,从而把自己的电脑搞得也许装了很多开发环境,但是用的却没多少个(比如说我的那个Java,就上了一学期的课,以后就再也没有用过了...),同时比如不同语言或者相同语言不同版本之间又会出现一些配置问题,导致自己的开发环境受到污染;这个时候云IDE很好的解决了这个问题,想学什么想练什么语言的代码,一键启动即可。但是在使用的过程中,我想要输出一个折线图并没有成功,以及其他的输出图像的方式也没输出出来。

运行速度方面也是可以的,对于我这个简易通讯录来说,运行起来嗖嗖滴,没有卡顿,要是有更高的需求还可以升级下套餐,配置会更高,有标准型、计算型和专业型三种,满足了我的各种需求😀。

今天我受到一个大佬的启发,我完全可以在平板上编辑程序呀,省着拿着电脑了,原来在平板上用的是python编辑器(是一个软件),体验并不是很好,只要一切换软件,程序就停止运行(已经允许它后台了)。以后要是懒得背电脑了,直接就用云IDE🤩。

相关推荐
Freak嵌入式8 分钟前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
java·开发语言·数据结构·python·接口·抽象基类
crownyouyou19 分钟前
最简单的一文安装Pytorch+CUDA
人工智能·pytorch·python
鸽芷咕22 分钟前
【Python报错已解决】libpng warning: iccp: known incorrect sRGB profile
开发语言·python·机器学习·bug
WenGyyyL22 分钟前
变脸大师:基于OpenCV与Dlib的人脸换脸技术实现
人工智能·python·opencv
首席数智官25 分钟前
阿里云AI基础设施全面升级,模型算力利用率提升超20%
人工智能·阿里云·云计算
laofashi201529 分钟前
AirTest 基本操作范例和参数解释(一)
python·自动化·automation
XyLin.31 分钟前
Msf之Python分离免杀
开发语言·python·网络安全·系统安全
Snowbowღ40 分钟前
OpenAI / GPT-4o:Python 返回结构化 / JSON 输出
python·json·openai·api·gpt-4o·pydantic·结构化输出
计算机学姐41 分钟前
基于python+django+vue的家居全屋定制系统
开发语言·vue.js·后端·python·django·numpy·web3.py
ac-er888844 分钟前
常见的反爬虫和应对方法
开发语言·python