首页 > 编程语言 >python 代码练习示例

python 代码练习示例

时间:2024-03-22 10:45:48浏览次数:34  
标签:10 打印 示例 python 练习 range length num print

判断数字位数

## 给定一个不超过5位的整数,判定该数的位数,以及依次打印,万位到个位。

# 接收用户输入的整数
num = int(input("请输入一个小于等于5位数的整数:"))

# 将整数转换为字符串,计算整数的位数
num_str = str(num)
length = len(num_str)

if length > 5:
    print("输入的整数超过5位,请重新输入")
else:
    # 根据位数逐个打印数字
    for i in range(length):
        print(f"{10 ** (length - i - 1)}位:{int(num_str[i])}")

# =========================

# 接收用户输入的整数
num = int(input("请输入一个不超过5位数的整数:"))

# 判断整数的位数
length = len(str(num))

if length > 5:
    print("输入的整数超过5位,请重新输入")
else:
    # 根据位数逐个打印数字
    if length >= 5:
        print("万位:", num // 10000 % 10)
    if length >= 4:
        print("千位:", num // 1000 % 10)
    if length >= 3:
        print("百位:", num // 100 % 10)
    if length >= 2:
        print("十位:", num // 10 % 10)
    if length >= 1:
        print("个位:", num % 10)

打印空心正方形

# 打印空心正方形

# 定义边长
side_length = 5

# 外层循环控制行数
for i in range(side_length):
    if i == 0 or i == side_length - 1:
        # 打印完整行
        print("*" * side_length)
    else:
        # 打印空心部分
        print("*" + " "*(side_length-2) + "*")
        
# =============
输出:
*****
*   *
*   *
*   *
*****

阶乘

# 阶乘

# 接收用户输入的整数
num = int(input("请输入一个正整数:"))

# 初始化阶乘结果为1
factorial = 1

# 计算阶乘
for i in range(1, num + 1):
    factorial *= i

# 输出结果
print(f"{num}的阶乘是:{factorial}")

# ============================

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

# 接收用户输入的整数
num = int(input("请输入一个正整数:"))

# 调用递归函数计算阶乘
result = factorial(num)

# 输出结果
print(f"{num}的阶乘是:{result}")

数字求和

# 求和

# 初始化奇数和和偶数和为0
sum_odd = 0
sum_even = 0

# 遍历1到100的所有数字
for i in range(1, 101):
    # 判断是否为奇数
    if i % 1:
        # 如果是奇数则加上该数
        sum_odd += i
    else:
        # 如果是偶数则加上该数
        sum_even += i
        
# 输出结果
print("100以内的奇数和为:", sum_odd)

# ======================

# 奇数和
# 初始化和为0
sum_odd = 0

# 遍历1到100的所有奇数,步长设为2
for i in range(1, 101, 2):
    sum_odd += i

# 输出结果
print("100以内的奇数和为:", sum_odd)

素数判定

# 判定素数,大于1的自然数只能被1和它自身整除
def is_prime(num):
    if num <= 1:
        return False
    if num == 2:
        return True
    if num % 2 == 0:
        return False
    for i in range(3, int(num**0.5) + 1, 2):
        if num % i == 0:
            return False
    return True

# 输入一个数
num = int(input("请输入一个整数:"))

# 判断是否为素数
if is_prime(num):
    print(num, "是素数")
else:
    print(num, "不是素数")

    
# =========================

import math

def is_prime(num):
    if num <= 1:
        return False
    if num == 2:
        return True
    if num % 2 == 0:
        return False
    for i in range(3, int(math.sqrt(num)) + 1, 2):
        if num % i == 0:
            return False
    return True

# 输入一个数
num = int(input("请输入一个整数:"))

# 判断是否为素数
if is_prime(num):
    print(num, "是素数")
else:
    print(num, "不是素数")
    
# ========================
def is_prime(num):
    if num <= 2:
        return False
    if num % 2 == 0:
        return True
    for i in range(3,int(num**0.5)+1,2):
        if num % i == 0:
            return False
    return True

# 打印10万以内的所有素数
for num in range(3,100001,2):
    if is_prime(num):
        print(num, "是素数")

# ==============
def prime_sieve(limit):
    sieve = [True] * (limit + 1)
    sieve[0], sieve[1] = False, False
    for i in range(2, int(limit**0.5) + 1):
        if sieve[i]:
            sieve[i*i:limit+1:i] = [False] * ((limit - i*i) // i + 1)
    return [num for num, is_prime in enumerate(sieve) if is_prime]

# 打印10万以内的所有素数
primes = prime_sieve(100000)
for prime in primes:
    print(prime)

打印九九乘法表

# 九九乘法表

# 正常写法
for i in range(1, 10):
    for j in range(1, i+1):
        # 使用字符串格式化和空格填充占用两个字符的宽度并右对齐输出,
        print(f"{j}x{i}={i*j:2}", end="\t")
    print()

# 列表推导式的写法一
[print(' '.join(f"{i}*{j}={i * j:2}" for j in range(1, i + 1))) for i in range(1, 10)]
  
# 列表推导式的写法二
[ print("{}*{}={:<3}{}".format(i,j,i*j,'\n' if i == j else ''),end='') for j in range(1,10) for i in range(1,j+1) ]
    
# 输出结果
1x1= 1	
1x2= 2	2x2= 4	
1x3= 3	2x3= 6	3x3= 9	
1x4= 4	2x4= 8	3x4=12	4x4=16	
1x5= 5	2x5=10	3x5=15	4x5=20	5x5=25	
1x6= 6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
1x7= 7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
1x8= 8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
1x9= 9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81

打印菱形

# 打印菱形

# 获取菱形的大小
size = int(input("请输入菱形的大小(奇数):"))

# 上半部分菱形
for i in range(1, size+1, 2):
    print(" "*(size//2 - i//2) + "*" * i)

# 下半部分菱形
for i in range(size-2, 0, -2):
    print(" "*(size//2 - i//2) + "*" * i)

# =============
输出:
请输入菱形的大小(奇数):5
  *
 ***
*****
 ***
  *

斐波那契数列

# 斐波那契数列

# 初始化斐波那契数列的前两项
a, b = 0, 1

# 打印斐波那契数列
print("斐波那契数列:", end=" ")
while a <= 100:
    print(a, end=" ")
    a, b = b, a + b
    
# ====
输出:
斐波那契数列: 0 1 1 2 3 5 8 13 21 34 55 89

# =========================================

# 计算斐波那契数列中第105个数
def fibonacci(n):
    a, b = 0, 1
    for _ in range(n-1):
        a, b = b, a + b
    return a

# 计算第101个斐波那契数
result = fibonacci(105)
print("斐波那契数列中第105个数是:", result)

打印杨辉三角

def generate(numRows):
    # 生成杨辉三角的每一行的生成器函数
    row = [1]  # 初始化第一行
    for _ in range(numRows):
        yield row  # 返回当前行
        # 生成下一行,利用zip函数和列表生成式计算每个数字
        row = [x + y for x, y in zip([0] + row, row + [0])]

def print_triangle(triangle):
    max_width = len(" ".join(map(str, triangle[-1])))  # 计算最大宽度
    for row in triangle:
        # 打印每一行,保持居中对齐
        print(" ".join(map(str, row)).center(max_width))

numRows = 5
triangle = list(generate(numRows))  # 生成杨辉三角
print_triangle(triangle)  # 打印杨辉三角

输出

    1    
   1 1   
  1 2 1  
 1 3 3 1 
1 4 6 4 1

标签:10,打印,示例,python,练习,range,length,num,print
From: https://www.cnblogs.com/wangguishe/p/18085039

相关文章

  • python把html渲染成带格式的文本
    在Python中,可以使用html2text库将HTML内容转换成纯文本,保留一定的格式。首先需要安装这个库:pipinstallhtml2text然后使用它的html2text函数将HTML转换为Markdown格式的文本:importhtml2text#示例HTML内容html_content="""<h1>标题</h1><p>这是一个段落。</p><ul>......
  • 减少循环嵌套,提升代码运行速度!你不知道的3个实用Python函数(转)
    原文地址(https://zhuanlan.zhihu.com/p/114787201)作为21世纪最流行的语言之一,Python有很多有趣的功能值得深入探索和研究。今天将讨论其中的三个你可能没听说过的函数,将从理论和实际应用两方面为你详细讲解。我之所以要讨论这些函数,主要是因为它们可以帮助你避免陷入编写循环中......
  • 看完本文若不能让你学通“Python”,我将永远退出IT界
    0基础小白怎么学Python?今天给大家分享一些学习Python的基本概念图,入门书籍、视频教程以及学习路上最有效的方法。Python基本概念最全图1.Python解释器:2.Python数据结构:3.变量与运算符:4.Python流程控制:5.Python文件处理:6.Python输入输出:7.Python异常:8......
  • Python众筹项目结果预测:优化后随机森林分类器可视化
    全文链接:https://tecdat.cn/?p=35412原文出处:拓端数据部落公众号分析师:YiChenXia随着信息技术的飞速发展,众筹作为一个互联网金融的子领域已经成为个人和小企业主筹集资金支持梦想的创新渠道。无论对于众筹发起者还是众筹平台而言,如何利用历史数据去准确预测一个众筹项目的成功......
  • 使用概率分析与指示器随机变量解决生日悖论问题及C代码示例
    概率分析与指示器随机变量解决生日悖论问题一、引言二、生日悖论的概率分析三、指示器随机变量解决生日悖论问题四、C代码实现五、结论与启示一、引言在日常生活中,我们经常会遇到一些与概率相关的问题,其中生日悖论就是一个非常有趣且典型的例子。生日悖论指的是在一......
  • Python - argparse
    需求背景:为python脚本定义参数信息,从命令行获取脚本运行时传入的参数及订单号importargparseimportsysdefparse_arg(cmd_parame): parse=argparse.ArgumentParser(description='thisisademo') parse.add_argument('order',type=str) parse.add_argument('-e'......
  • 开源一个教学型分库分表示例项目 shardingsphere-jdbc-demo
    在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步、增量同步、数据校验等)。因此笔者做了一个教学型分库分表示例项目,计划将分库分表的技术体系都实际演示一遍。ht......
  • LeetCode 剑指Offer 练习
    目录题目整理来源:[https://zhuanlan.zhihu.com/p/112990684](LeetCodeByPython:剑指Offer第2版解题目录)数据结构[https://leetcode.cn/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/solutions/](LCR120.寻找文件副本)[https://leetcode.cn/problems/er-wei-......
  • python 1.卖货
    问题描述:小蓝在蓝桥大街开了一家零售店,他将每天的流水记录在电脑上。在每天开始营业时,商店里没有商品。如果他进了一件商品,那就在电脑上记录1,如果卖出了一件商品,就在电脑上记录-1。对于电脑上的记录,有着这样的要求:1.在一天结束后,要求商品数恰好为02.当卖出商品时,商店里必须......
  • 面向对象练习
    classPhone{Stringname;//手机名字intprice;//手机价格//开始书写javabeanpublicPhone(){}publicPhone(Stringname,intprice){this.name=name;this.price=price;}publicStringgetName(){......