网安之python基础学习练习(2-3)

简介: 本篇博文是关于网络安全课程中Python编程的学习实践总结。分享关于两个练习题目及其解决方案。第一个题目要求用户输入姓名并选择一项武技,使用for循环和if判断实现。第二个题目是删除列表中特定值(如'cat')的所有元素,作者展示了两种方法,包括列表推导式和常规循环删除。接下来,文章还介绍了如何编写一个函数,随机生成一副扑克牌(除大小王),并返回一张随机抽取的牌。

前言


版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                                      

原文链接:https://blog.csdn.net/weixin_72543266/article/details/132940792

 本篇博文是关于网络安全课程中Python编程学习的练习总结,其中包含回顾一些例如列表推导式等学习知识的回顾.

不过思考题目,确实是一道比较有意思的题目编写一个函数,要求随机从获取一张扑克牌,除大小王以外其余A-K都具有四种不同的花色,花色共有【♠ ♥ ♣ ♦】四种


思维导图

image.gif

1,网安之python基础学习作业(2)

1.1,作业一:

1.1.1,题目

题目:提示用户输入姓名,并且接收用户输入在控制台的姓名,然后选择武技后将选择的武技打印出来

  1. input()  可以从控制台去输入值
  2. for 的语法格式:

for 迭代 in range/数组名:

       代码块  (前面注意要进行缩进)

  3.if的语法格式:

if 判断段条件:

       代码块

1.1.2,题解

总结一下:

1.这里使用了第一次使用for循环是为了将所有的武技的编号和武技名进行打印出来,其中为了符合大多打家平常打游戏都是从1开始,所以进行了更改  

2.然后使用了for循环和if进行判断,当相等时,大印出武技名

x = input("请输入您的大名:")
print("您可以选择一门武技:")
print("武技如下:")
skill = ["一阳指", "鬼牌", "升龙掌", "葵花"]
for i in range(0, len(skill)):
    print(i + 1, skill[i])
y = int(input("请选择您的绝技:"))  # 将输入数据的类型改为int类型
for j in range(0, len(skill)):
    if j == y - 1:
        print("您选择了武技:")
        print(skill[j])
        break;

image.gif

这么看的话,我们其实加上random模块的随机选择,比如说选择爆率等等,我们可以很容易使用python去做一款文字形游戏

1.2,作业二:

1.2,1,题目

题目2:pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat'] 如何删除所有值为cat的元素

1.2.2,题解

总结一下:

这里无非就是把列表中的cat元素删除,那么我们只需要进行遍历列表,然后删除cat(不如说是不去选择cat这个元素,就可以了)

方法一;

我使用了列表推导式:

语法格式:

数组名 = [迭代数 for 迭代数 in 数组名/range() 判断条件if   ]


pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print("原数组如下:")
print(pets)
# print("删除后的数组如下")
#方法一:
# 这里我使用了列表推导式
new_pets=[pet for pet in pets if pet !='cat']
print(new_pets)
# 方法二
new_pets = []
for pet in pets:
    if pet !='cat':
        new_pets.append(pet)
print(new_pets)

image.gif

2,网安之python基础学习作业(3)

2.1,作业1

2.1.1,题目

一、编写一个函数,判断唯一的整数参数是奇数还是偶数

知识点:方法定义+调用、条件结构(if)

2.1.1,题目

这里就是定义了一个判断函数,然后进行调用,注意传入时需要注意的是传入的参数的类型

def even(num):
    if(num % 2 ==0 ):
        print("num是偶数!!!")
    else:
        print("num是奇数!!!")
even(int(input("请输入一个数字:"))) # 注意传入数字时,需要传入类型一致的值

image.gif

2.2,作业2

2.2.1,题目

二、编写一个函数,参数为列表,求出列表所有元素的合,并且返回

知识点:方法返回值、循环结构(for)

2.2.2,题解

这里我们使用了列表推导式来创建数组,然后我们定义了一个总和函数.

注意python传入参数时,不需要进行定义,我们在是用*时,*代表传入的参数不固定是任意值.

num = [i for i in range(10)] # 列表推导式
def sum(num):
    j = 0
    for i in num:
        j = i + j
    return j
a = sum(num) # 传入数组不需要添加任何符号
print(f'数组{num}的总和是: {a}')

image.gif

2.3,作业3

2.3.1,题目

思考题: 编写一个函数,要求随机从获取一张扑克牌,除大小王以外其余A-K都具有四种不同的花色,花色共有【♠ ♥ ♣ ♦】四种

2.3.1,题目

总结一下,主要就是,定义数组,然后传入参数,进行循环,将重复性的花色和数字存入新的数组,然后,使用random模块进行随机选择,类似于随机抽卡游戏

import random
def random_get():
    num = [] # 定义一个空数组,用来存放,第一次循环得到的没有花色的牌
    new_num = []  # 用来存放含有花色的牌
    char = ['A','J','Q','K',] # 定义含有四种英文字符
    flower = ['♠', '♥', '♣', '♦', ]  # 定义一个含有四种花色的数组
    new_flower = [] # 定义一个空数组,用来存放13种牌的所有花色
    i=0
    while(i<4):
        # 通过循环和for循环将数字和字符传入四次
        for j in range(2,11):
            num.append(j)
        for k in char:
            num.append(k)
        i = i+1
    i = 0
    while(i<13):
        for l in flower:
            new_flower.append(l)
        i = i+1
    # print(num) # 进行查看,是否有错误
    # print(new_flower) # 测试花色是否是52个
    for i,j in zip(num,new_flower):
        a = str(i) + j  # 要进行字符和数字拼接,需要进行转换
        new_num.append(a)
    # print(new_num)  测试是否是52张含有花色的牌
    # 最后将大小王也加入到数组中
    new_num.append('大王')
    new_num.append('小王')
    return random.choice(new_num)  # 随机进行选择
a = random_get()  # 调用函数将随机获得的牌进行返回
print(f'你随机获得的牌是:\n{a}')

image.gif

3,总结

本章是对自己学习python的一次复习吧,通过作业的练习我收获了很多,.在练习其中我忽略了传入参数的类型,以及在使用时,对于函数的数组传入知识点的遗忘,有方法和敲出来其实有很大的差别


每日一言

永远不要低估你的潜能,永远不要放弃你的梦想。


相关文章
|
3月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
367 1
|
3月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
238 1
|
3月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
347 1
|
3月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
187 4
|
4月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
6月前
|
监控 数据安全/隐私保护 Python
微信自动抢红包免费版,2025微信抢红包神器,微信红包挂苹果版【python仅供学习】
这个模拟项目包含5个模块:核心监控逻辑、用户界面、配置管理、实用工具和主程序入口
|
11月前
|
C语言 Python
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
221 2
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
210 0
|
存储 Python Windows
【Python学习篇】Python实验小练习——函数(十)
【Python学习篇】Python实验小练习——函数(十)
141 1

推荐镜像

更多