IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python学习第三天:练习 -> 正文阅读

[Python知识库]Python学习第三天:练习

Python学习第三天:练习

在这里插入图片描述

一、找出100-999之间的水仙花数(各位数字的立方和刚好等于这个数本身)

形如,153 = 1^3 + 5^3 + 3^3

求一个百位数i的百位,十位,个位

# 求百位
i // 100
# 求十位
i // 10 % 10
# 求个位
i % 10
for num in range(100, 1000):
    bw = num // 100
    sw = num // 10 % 10
    gw = num % 10
    if bw ** 3 + sw ** 3 + gw ** 3 == num:
        print(num)
补充
输入一个正整数N,将N进行反转
# 1234 ----> 4321
# 12345 ---> 54321
N = int(input('N = '))

total = 0
while N > 0:
    total = total * 10 + N % 10
    N //= 10
print(total)

二、找出1-10000之间的完美数(除自身外所有因子的和等于这个数)

"""
homework02 - 找出1-10000之间的完美数(除自身外所有因子的和等于这个数)

6 = 1 + 2 +3
28 = 1 + 2 + 4 + 7 + 14


Author:悾格
Date: 2021/7/21
"""

import time

start = time.time()
for num in range(2, 10000):
    total = 1

    for i in range(2, num):
        if num % i == 0:
            total += i
    if num == total:
        print(num)
end = time.time()
print(f'执行时间:{end - start:.3f}秒')


优化代码:减少代码运行次数

start = time.time()
for num in range(2, 10000):
    total = 1
    
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            total += i
            if i != num // i:
                total += num // i

	if num == total:
   		print(num)
end = time.time()
print(f'执行时间:{end - start:.3f}秒')

三、输入m和n(m > n),计算C(m,n)的值 ----> (m! / (n! * (m - n)!)

"""
homework03 - 输入m和n(m > n),计算C(m,n)的值 ----> (m! / (n! * (m - n)!)

Author:悾格
Date: 2021/7/21
"""

m = int(input('m = '))
n = int(input('n = '))
x = 1
y = 1
z = 1
for i in range(1, m+1):
    x *= i
    # print(x)
for j in range(1, n+1):
    y *= j
    # print(y)
# print('-' * 12)
for h in range(1, m-n+1):
    z *= h
    # print(z)
C = x // (y * z)
print(f'C(m,n)的值为:{C}')


from math import factorial as f

m = int(input('m = '))
n = int(input('n = '))
print(f(m) // f(n) // f(m - n))

四、输入一个正整数,判断它是不是质数(只能被1和自身整除的数)

"""
homework04 - 输入一个正整数,判断它是不是质数(只能被1和自身整除的数)

Author:黄垦灿
Date: 2021/7/21
"""

num = int(input('正整数:num = '))
is_prime = True
for i in range(2, num):
    if num % i == 0:
        is_prime = False
        break
if num > 1 and is_prime:
    print(f'{num}是质数')
else:
    print(f'{num}不是质数')

# 打印出1-100范围质数
for num in range(1, 100):
    is_prime = True
    for i in range(2, num):
        if num % i == 0:
            is_prime = False
            break

    if is_prime:
        print(num, end=',')
for num in range(1, 100):
    is_prime = True
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            is_prime = False
            break

    if is_prime:
        print(num, end=',')
# 输入N,按照如下所示的规律进行打印
'''
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
'''
n = int(input('n = '))
for i in range(1, n + 1):
    for j in range(1, i + 1):
        print(i, end=' ')
    print()

99乘法表

# 乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{j}×{i}={i*j}', end=' ')
    print()
   

五、求三角形的周长和面积

"""
homework05 - 输入三角形的长度,如果能构成三角形就计算周长和面积
如果不能构成三角形,提示用户重新输入,直到正确。

Author:悾格
Date: 2021/7/21
"""
# 使用分支结构与循环结构
while True:
    a = int(input('a = '))
    b = int(input('b = '))
    c = int(input('c = '))
    if a + b > c and a + c > b and b + c > a :
        print('是三角形')
        C = a + b + c
        S = 1/4 * (((a + b + c) * (a + b - c) * (a + c - b) * (b + c - a)) ** 0.5)
        print(f'该三角形的周长为:{C},面积为:{S:.2f}')
        break
    else:
        print('不能构成三角形,请重新输入!!')
        
# 运用math包中的sqrt函数:开根号
import math

while True:
    a = int(input('a = '))
    b = int(input('b = '))
    c = int(input('c = '))
    if a + b > c and a + c > b and b + c > a:
        print('是三角形')
        C = a + b + c
        half = C / 2
        S = math.sqrt(half * (half - a) * (half - b) * (half - c))
        print(f'该三角形的周长为:{C},面积为:{S:.2f}')
        break
    else:
        print('不能构成三角形,请重新输入!!')

六、输入一个n,输出斐波那契数列数

for in循环结构中,如果i的值在循环过程中不使用,那么就可以将i换成_,在这里_没有定义

"""
test01 - 输入一个n,输出斐波那契数列数

1 1 2 3 5 8 13 21 34 55 ……

Author:悾格
Date: 2021/7/22
"""
n = int(input('n = '))
a, b = 1, 1
print(a, b, sep='\n')
for _ in range(1, n - 1):
    c = a + b
    a = b
    b = c
    print(c)

七、百钱百鸡

"""
test02 - 例?2:百钱百鸡问题。
说明:百钱百鸡是我国古代数学家张丘建在《算经》?书中提出的数学问题:鸡翁?值钱五,
鸡??值钱三,鸡雏三值钱?。百钱买百鸡,问鸡翁、鸡?、鸡雏各?何?翻译成现代?是:
公鸡5元?只,?鸡3元?只,?鸡1元三只,?100块钱买?百只鸡,问公鸡、?鸡、?鸡
各有多少只?
穷举法:穷尽所有的可能性,然后设置条件,找到问题的解  ---> 暴力破解法


Author:悾格
Date: 2021/7/22
"""
i = 1
for x in range(0,21):
    for y in range(0, 34):
        z = 100 - x - y
        # i += 1
        if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
            print(x, y, z)

八、捕鱼

"""
test03 - 五人晚上去捕鱼,捕了不计其数的鱼,然后累了去睡觉。
第二天,A第一个醒过来,把鱼分成了5份,扔掉了多余的1条,然后拿走自己1份
B第二天醒过来,以为鱼没有分过,把剩下的鱼分成了5份,扔掉多余的1条,拿走自己的1份;
C、D、E依次醒过来,都按照同样的方法来分鱼。问他们最少捕了多少鱼?

Author:悾格
Date: 2021/7/22
"""
fish = 1
while True:
    is_enough = True

    # 检查目前的鱼的数量够不够五人分
    total = fish
    for _ in range(5):
        if (total - 1) % 5 == 0:
            total = (total - 1) // 5 * 4
        else:
            is_enough = False
            break

    if is_enough:
        print(fish)
        break
    fish += 5

总结

  1. 今天没有学习新的内容,但是老师出的练习题有点生疏,不能够独立解决题目,但是当老师为我们解答的时候,又是一种豁然开朗的感觉,又是但是,当我独自再回去做的时候,感觉有那种思路,但是代码却写不出来
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:43:09  更:2021-07-23 10:43:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:28:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计