【python】小白python练习案例100之6-10

每天5个python练习案例,小白和初学的快来当练手吧!坚持就是胜利!

注:解题思路都在代码里面的注释里了,大家可以先看题尝试着自己做,然后对照着下面方法改进或者若代码出现问题或有更好的解法欢迎大家批评指正我。


目录

【No6】复制列表

 【No7】暂停一秒输出

 【No8】繁殖的兔子

 【No9】判断素数

 【No10】分解质因数


【No6】复制列表

题目:将一个列表的数据复制到另一个列表中。

值:赋值引用,a与 b都是指的同一个对象,b随着a的变化变化
浅拷贝:a,b整体独立,但是他们里面的子对象还是指的同一个对象(是引用),同时变化
深拷贝:完全拷贝,两者完全独立

 
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a #赋值
c = a[:] #浅拷贝
d = copy.copy(a) #浅拷贝
print("浅拷贝:{}".format(c))
e = copy.deepcopy(a)
print("深拷贝:{}".format(c))

#实例演示
a.append(5)
a[4].append('miky')
print('a=',a)
print('b=',b)
print('c=',c)
print('d=',d)
print('e=',e)
运行代码 
浅拷贝:[1, 2, 3, 4, ['a', 'b']]
深拷贝:[1, 2, 3, 4, ['a', 'b']]
a= [1, 2, 3, 4, ['a', 'b', 'miky'], 5]
b= [1, 2, 3, 4, ['a', 'b', 'miky'], 5]
c= [1, 2, 3, 4, ['a', 'b', 'miky']]
d= [1, 2, 3, 4, ['a', 'b', 'miky']]
e= [1, 2, 3, 4, ['a', 'b']]

Process finished with exit code 0

 【No7】暂停一秒输出

import time
print(time.time()) #时间戳 距离1970年的秒数

for i in range(4):
    print(str(int(time.time()))[-2:]) #取后两位
    time.sleep(1)  #运用time函数中的sleep 延时一秒

 【No8】繁殖的兔子

题目:有一对兔子,从出生后第 3个月起每个月都生一对兔子小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少?

思路分析:算法中的迭代法(递推法) 其中前6个月兔子数量为1,1,2,3,5,8 很明显属于斐波那契数列

month = int(input("请问兔子繁殖几个月:"))
#定义变量,进行初始化

if month == 1 or month == 2:  #特殊情况判断,前两个月兔子没有繁殖
    print("一共一只兔子。")
else:
    month_1 = 1 # n-2个月兔子的数量
    month_2 = 1 # n-1个月兔子的数量
    rabbit_num = 0
    for i in range(3, month+1):
        rabbit_num = month_1 + month_2
        month_2 = month_1
        month_1 = rabbit_num
print("繁殖%d个月之后兔子总数量为:%d" % (month, rabbit_num))

 【No9】判断素数

题目:判断101~200之间有多少素数,并输出所有素数

import math
#方法一:一一遍历,if else 判断
li1 = [] #用于存储素数
for i in range(101, 201):
    for j in range(2, int(math.sqrt(i) + 1)): #这里为了减少遍历次数,提高效率
        if i % j == 0:
            break
    else:
        li1.append(i)
print("101~200之间的素数有", li1)

#方法二:假设成立法
li2 = []    
for i in range(101, 201):
    flag = 1
    for j in range(2, int(math.sqrt(i) + 1)):
        if i % j == 0:
            flag = 0
            break
    if flag:
        li2.append(i)
print(li2, "是质数")

 【No10】分解质因数

题目:将一个整数分解质因数

#将一个整数分解质因数
target = int(input("请输入一个整数;"))
print(target, '=', end = ' ')

if target < 0:
    target = abs(target)
    print('-1*', end = ' ')

flag = 1

if target <= 1:
    print(target)
    flag = 0

while flag:
    # if flag == 0:
    #     break
    for i in range(2, int(target+1)):
        if target % i == 0:
            if i == target:
                flag = 0
                print("%d " % i, end='')
            else:
                print('%d *' % i, end=' ')
                target /= i
            break

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值