python每日一练(6)

这篇具有很好参考价值的文章主要介绍了python每日一练(6)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python每日一练(6),python学习,前端,学习,算法,python,笔记,开发语言 

 🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:Aileen_0v0🧸的PYTHON学习系列专栏——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马~"

python每日一练(6),python学习,前端,学习,算法,python,笔记,开发语言

目录

(1)找质数因子🍇

Python 中 / 和 //的区别🍈

(2)复制列表🍎

Python 列表浅拷贝🍑

Python标准库模块-copy的使用🍊

(3)暂停后输出---暂停一段时间后输出🍍

(4)成绩if语句🍒


python每日一练(6),python学习,前端,学习,算法,python,笔记,开发语言

(1)找质数因子🍇


输入一个正整数,输出它的所有质数因子(如180的质数因子为 2、2、3、3、5。

#找质数因子
# 输入一个正整数,输出它的所有质数因子(如180的质数因子为 2、2、3、3、5)。

#先通过固定数值来查找它的质数因子
a = 180
#设置除数的起始值
y = 2
#创建一个空列表S存储所有的质数因子
S = []

# 通过while循环取出所有的质数因子
while a != y:#循环条件
    if a % y == 0:#说明y是它的质数因子
        S.append(y)
        a = a / y
    else:
        y += 1
    print(S)#通过在循环内部可以观察到每个质数因子增加的过程
    #通过打印的最终结果[2, 2, 3, 3],少了一个质数因子5
    #我们根据循环过程可以知道最后循环结束以后 a = 5 ,它也是180的质数因子
    #我们可以通过append 将其加到列表的末尾
S.append(int(a))
print(S)#通过打印结果我们发现列表S最后一个数据a是浮点数
# 我们根据上面的循环可以发现 再最后一次求a时用了 15 / 3
# 所以结果是浮点数--->所以我们需要 用int() 将a转成整型数据

#通过for 循环 将它们按照数字和空格相间隔的形式打印出来
for i in S:
    print(i,end=" ")

法2:

n = int(input("请输入一个正整数:")) # 输入一个正整数n
factors = [] # 创建一个空列表来存储因子

for i in range(2, n+1): # 遍历2到n之间的所有数
    while n % i == 0: # 当n可以整除i时
        factors.append(i) # 将i加入因子列表
        n //= i # 将n除以i

print("该数的所有质因子为:", factors) # 输出该数的所有质因子
 
  1. 用户输入一个正整数n,并使用int()函数将其转换为整数类型。
  2. 创建一个空列表factors,用于存储n的所有质因子。
  3. 使用for循环,遍历2到n+1之间的所有数字。因为一个数的质因子最大为它的平方根,所以从2开始遍历即可。
  4. 使用while循环,当n可以被i整除时,执行下面的步骤。
  5. 将i加入factors列表中。
  6. 将n除以i,更新n的值,去除重复的因子。
  7. 循环结束后,输出factors列表中的所有元素,即为n的所有质因子。

Python 中 / 和 //的区别🍈

在 Python 中, /// 都是用于除法运算的操作符,但它们有很大的区别。

/ 是普通的除法运算符,结果是一个浮点数即使两个数都是整数。例如:

>>> 7 / 2
3.5
>>> 10 / 3
3.3333333333333335

// 是整数除法运算符,结果是一个整数,只保留除法结果的整数部分,即忽略余数。例如:

>>> 7 // 2
3
>>> 10 // 3
3

因此,/// 的区别在于,/ 运算符返回浮点数,而 // 运算符返回整数。

(2)复制列表🍎

将一个列表的数据复制到另一个列表中,我们可以联系到赋值语句,将数值赋值给一个变量

那列表可以这样子操作吗?  让我们一起尝试一下:

# 列表浅赋值
list = [ 1,2,3,4]
list1 = list#将list赋值给list1
list[0] = 30
print(list1)

 通过运行结果我们发现当我们将原列表赋值给我们创建的新的列表list1以后,再修改原来list里面的元素,我们会发现,最后打印出来的list1不是 [ 1,2,3,4],而是[30,2,3,4],这是为什么呢?

这就是列表里面的浅拷贝(浅赋值)👇

Python 列表浅拷贝🍑

Python 列表浅拷贝是指将一个已有的列表直接赋值给另一个变量,二者指向同一内存地址的操作。意味着,当你修改其中一个列表的元素时,另一个列表也会受到影响。例如:

list1 = [1, 2, 3]
list2 = list1
list2[0] = 4
print(list1)  # 输出 [4, 2, 3]
print(list2)  # 输出 [4, 2, 3]

当我们改变 list2 中的第一个元素时,list1 也会被修改。这是因为它们指向同一内存地址。

正确写法:

import copy
list = [1,2,3,4]
list1 = copy.copy(list)
list[0]=30
print(list1)

Python标准库模块-copy的使用🍊

Python的标准库非常广泛,提供了广泛的 设施如下面列出的长目录所示。这些库包含内置模块(用 C 编写),提供对 系统功能,例如文件 I/O,否则 Python程序员无法访问,以及用Python编写的模块 为在 日常编程。其中一些模块明确设计为 通过抽象来鼓励和增强 Python 程序的可移植性 将特定于平台的 API 转换为与平台无关的 API。

copy模块是Python标准库中的一个模块,主要提供了对象复制的功能。在Python中,赋值操作只是给对象起了一个新的名字,而不是创建了一个新的对象。如果需要复制一个对象,可以使用copy模块提供的函数。copy模块提供浅复制和深复制两种方式,浅复制只会复制对象本身,而不会复制对象中的子对象;而深复制会将对象和所有子对象全部复制一份。常用的函数包括copy()和deepcopy()函数。

copy模块是Python的一个标准库,它提供了一些复制和拷贝对象的方法。以下是一些常用的方法:

1.copy():用于浅复制一个对象,即创建一个新对象,但其中的元素是原对象的引用,因此在对原对象进行修改时,新对象也会受到影响

举例:

import copy

old_list = [1, 2, ['a', 'b', 'c']]
new_list = copy.copy(old_list)

old_list[2][0] = 'd'

print(old_list)  # [1, 2, ['d', 'b', 'c']]
print(new_list)  # [1, 2, ['d', 'b', 'c']]

2.deepcopy():用于深复制一个对象,即创建一个新对象,其中所有的元素都是复制的,而不是原对象中的引用。

举例:

import copy

old_list = [1, 2, ['a', 'b', 'c']]
new_list = copy.deepcopy(old_list)

old_list[2][0] = 'd'

print(old_list)  # [1, 2, ['d', 'b', 'c']]
print(new_list)  # [1, 2, ['a', 'b', 'c']]

需要注意的是,如果复制的对象中包含自定义的类或对象,可能需要额外实现__copy__()__deepcopy__()方法。

 

(3)暂停后输出---暂停一段时间后输出🍍

       可以使用python里面time模块中的sleep方法

import time
print("你好")
time.sleep(10)#括号里输入的是秒数
print("Hello world.")

(4)成绩if语句🍒


利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

# 成绩if语句
# 利用条件运算符的嵌套来完成此题:
# 学习成绩>=90分的同学用A表示,
# 60-89分之间的用B表示,
# 60分以下的用C表示。
score = int(input("请输入你的成绩:"))
if score >= 90:
    print("A")
elif 60 <= score and score <= 89:
    print("B")
else:
    print("C")

python每日一练(6),python学习,前端,学习,算法,python,笔记,开发语言文章来源地址https://www.toymoban.com/news/detail-716065.html

到了这里,关于python每日一练(6)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c语言每日一练(7)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。 1、下列定义数组的语句中正确的是【多选】( ) A、 B、char str

    2024年02月13日
    浏览(42)
  • c语言每日一练(4)

    1、有以下代码,程序的输出结果是( ) A.10       B.9       C.8       D.7 解析: 先看代码构成,代码的主要部分是一个循环,最终目标是打印出a的大小。 直接看循环,for循环先将a和b都初始化成了1,循环进行的条件是a=100,循环每次结束后,a+1 接着看循环的内部,1代码代

    2024年02月13日
    浏览(37)
  • c语言每日一练(12)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。 1、程序运行的结果是()  A、 sum=9 B、 sum=10 C、 sum=12 D、 su

    2024年02月11日
    浏览(32)
  • c语言每日一练(8)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。 1、请阅读以下程序,其运行结果是( )   A、YES       B、NO 

    2024年02月12日
    浏览(32)
  • C语言每日一练(1)

    题目: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析: 可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 程序源代码: 以上实例输出结果为: 题目: 企业发放的奖金根据利润提成。利

    2024年02月12日
    浏览(48)
  • c语言每日一练(3)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。 1、执行下面的程序段,语句3的执行次数为( ) A.n(n+2)/2    B.(

    2024年02月14日
    浏览(44)
  • c语言每日一练(5)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。 1、下面代码的结果是:( ) A. a = 8 b = 23 c = 8      B. a = 9 b= 23 c =

    2024年02月13日
    浏览(75)
  • c语言每日一练(6)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。 1、如下程序的功能是( ) A、 测字符数组ch的长度 B、 将数字字

    2024年02月13日
    浏览(36)
  • c语言每日一练(15)

    前言: 每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,上学期间将看学业情况更新。 1、程序运行的结果为() A、1,5      B、2,5      C、1,6     D、2,6 解析:首先定义sum和pad为5,接

    2024年02月07日
    浏览(34)
  • C语言每日一练(二)

    解法一:在原链表中删除Node.next=next的节点 注意:当头节点的val==val时,要改变头节点的位置 解法二:创建新的指向头尾的链表 注意:这里如果写head的话,当一个节点是要删除的节点,头节点还是那个删除的节点。 解法一:创建新链表,对新链表进行头插 解法二:定义三个

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包