Python课堂练习

2023-11-12

1、 用for循环来计算1+2+3…+100

  • 代码
# -*- coding: utf-8 -*-
"""
功能:用for循环来计算1+2+3...+100
作者:小小榕
日期:2021年11月11日
"""

sum = 0
for i in range(1, 101):
    sum = sum + i
print('1+2+3...+100 = {}'.format(sum))
  • 运行结果
    在这里插入图片描述

2、用for循环来计算1+3+5…+99

  • 代码
# -*- coding: utf-8 -*-
"""
功能:用for循环来计算1+3+5...+99
作者:小小榕
日期:2021年11月11日
"""

sum = 0
for i in range(1, 101,2):
    sum = sum + i
print('1 + 3 + 5 ... + 99 = {}'.format(sum))


sum = 0
for i in range(1, 101):
    if i % 2 == 1:
        sum = sum + i
    
print('1 + 3 + 5 ... + 99 = {}'.format(sum))


sum = 0
for i in range(1, 51):
    sum = sum + (2 * i - 1)
print('1 + 3 + 5 ... + 99 = {}'.format(sum))
  • 运行结果
    在这里插入图片描述

3、百钱买百鸡问题(采用三重循环)

我国古代数学家张丘建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

  • 代码
# -*- coding: utf-8 -*-
"""
功能:百钱买百鸡问题(采用三重循环)
作者:小小榕
日期:2021年11月11日
"""

count = 0
for cock in range(21):
    for hen in range(34):
        for chick in range(101):
            if cock + hen + chick == 100 and cock * 5 + hen * 3 + chick / 3 == 100:
                print('cock: {:2d} hen: {:2d} chick: {:2d}'.format(cock, hen, chick))
                count = count + 1
print('结论:总共有{}种购买方案。'.format(count))
  • 运行结果
    在这里插入图片描述

4、百钱买百鸡问题2(采用三重循环)

  • 代码
# -*- coding: utf-8 -*-
"""
功能:百钱买百鸡问题2(采用三重循环)
作者:小小榕
日期:2021年11月11日
"""

count = 0
for cock in range(21):
    for hen in range(34):
        chick = 100 - cock -hen
        if cock * 5 + hen * 3 + chick / 3 == 100:
            print('cock: {:2d} hen: {:2d} chick: {:2d}'.format(cock, hen, chick))
            count = count + 1
print('结论:总共有{}种购买方案。'.format(count))
  • 运行结果
    在这里插入图片描述

5、采用for算令狐大侠喝了多少酒

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for算令狐大侠喝了多少酒
作者:小小榕
日期:2021年11月11日
"""

print('令狐大侠说他喝了若干杯酒,\
杯数满足条件:三三数之剩二,\
五五数之剩三,七七数之剩二,\
问令狐大侠究竟喝了多少杯酒?')

for cups in range(1000, 0, -1):
    if cups % 3 == 2 and cups % 5 == 3 and cups % 7 == 2:
        print('朋友,令狐大侠喝了{}杯酒!'.format(cups))
        break
  • 运行结果
    在这里插入图片描述

6、采用for循环遍历序列(sequence)

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环遍历序列(sequence)
作者 :小小榕
日期:2021年11月11日
"""

# 遍历字符串
msg = '我在学习Python。'
for c in msg:
    print(c, end='\t')

print()
    

for i in range(len(msg)):
    print(msg[i], end='\t')
    
print()   

# 遍历列表
names = ['小小榕', '小小强', '李连杰', '周杰伦', '小小张']
for name in names:
    print(name, end='\t')
print()

for i in range(len(names)):
    print(names[i], end='\t')
  • 运行结果
    在这里插入图片描述

7、采用for循环遍历字典

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环遍历字典
作者:小小榕
日期:2021年11月11日
"""

cities = {'001':'北京', '002':'上海', '003':'广州','004':'深圳', '005':'成都'}

for key in cities.keys():
    print(cities[key], end='\t')
print()

for value in cities.values():
    print(value, end='\t')
print()


for key in cities.keys():
    print('{}:{}'.format(key, cities[key]))
print()

for k, v in zip(cities.keys(), cities.values()):
    print('{}: {}'.format(k, v))
  • 运行结果
    在这里插入图片描述

8、采用for循环打印水仙花数

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环打印水仙花数
作者:小小榕
日期:2021年11月11日
"""

count = 0
for n in range(100, 1000):
    p1 = n % 10
    p2 = n // 10 % 10
    p3 = n // 100
    if n == p1 **3 + p2 **3 + p3 **3:
        print('{} = {}^3 + {}^3 + {}^3'.format(n, p3, p2, p1))
  • 运行结果
    在这里插入图片描述

9、采用for循环打印水仙花数2

  • 代码
# -*- coding: utf-8 -*-
"""
功能:采用for循环打印水仙花数2
作者:小小榕
日期:2021年11月11日
"""

count = 0
for n in range(100, 1000):
    m = n 
    p1 = m % 10 # 个位数
    m = m // 10
    p2 = m % 10 # 十位数
    m = m // 10
    p3 = m      # 百位数
    if p3 **3 + p2 **3 + p1 **3 == n:
        print('{}^3 + {}^3 + {}^3 = {}'.format(p3, p2, p1, n))
        count = count + 1
print('总共有{}个水仙花数。'.format(count))    


  • 运行结果
    在这里插入图片描述

10、打印直角三角形

  • 代码
# -*- coding: utf-8 -*-
"""
功能:打印直角三角形
作者:小小榕
日期:2021年11月11日
"""

row = int(input('row = '))


for i in range(row):
    for j in range(i):
        print('*', end='')
    print()

for i in range(row):
    for j in range(row - i - 1):
        print('*', end='')
    print()

for i in range(row):
    for j in range(row - i - 1):
        print(' ', end='')
    
    for j in range(i):
        print('*', end='')
    print()


for i in range(row):
    for j in range(i):
        print(' ', end='')
    for j in range(row - i - 1):
        print('*', end='')
    print()
  • 运行结果
    在这里插入图片描述

11、打印字符矩形

  • 代码
# -*- coding: utf-8 -*-
"""
功能:打印字符矩形
作者:小小榕
日期:2021年11月11日
"""

row = int(input('row = '))
col = int(input('col = ')) #column

for i in range(row):
    for j in range(col):
        print('*', end=' ')
    print()
  • 运行结果
    在这里插入图片描述

12、打印字符平行四边形

  • 代码
# -*- coding: utf-8 -*-
"""
功能:打印字符平行四边形
作者:小小榕
日期:2021年11月11日
"""

row = int(input('row = '))
col = int(input('col = '))
# 右倾平行四边形
for i in range(row):
    for j in range(row - i - 1):
        print(' ', end='')
    for j in range(col):
        print('*', end='')
    print()

# 左倾平行四边形
for i in range(row):
    for j in range(i):
        print(' ', end='')
    for j in range(col):
        print('*', end='')
    print()
  • 运行结果
    在这里插入图片描述

13、九九乘法表

  • 代码
# -*- coding: utf-8 -*-
"""
功能:九九乘法表
作者:小小榕
日期:2021年11月11日
"""

for i in range(1, 10):
    for j in range(1, i + 1):
        print('{} * {} = {}'.format(i, j, i * j), end='\t')
    print()
  • 运行结果
    在这里插入图片描述

14、判断一个整数是不是素数

  • 代码
# -*- coding: utf-8 -*-
"""
功能:判断一个整数是不是素数
作者:小小榕
日期:2021年11月11日
"""

from math import sqrt


n = int(input('输入一个整数:'))

is_prinme_nimber = True
for i in range(2, int(sqrt(n) + 1)):
    if n % i == 0:
        is_prinme_nimber = False
        break

if n == 1:
    print('{}既不是素数,也不是合数。'.format(n))
elif is_prinme_nimber:
    print('{}是素数。'.format(n))
else:
    print('{}是合数。'.format(n))
  • 运行结果
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python课堂练习 的相关文章

随机推荐

  • markdown模板(个人使用)

    头部1 博客标签规定 文章目录 一 常用可以内嵌的HTML标签 一 标题 知识点 知识点 二 图片 三 字体 五 表格 六 锚链接 七 Typora中的技巧 一 常用可以内嵌的HTML标签
  • 编译原理第二版3.4答案

    3 4 节的练习 3 4 1 给出识别练习 3 3 2 中各个正则表达式所描述的语言状态转换图 解答 解答步骤 NFA gt DFA gt 最少状态的 DFA 状态转换图 a a b a NFA DFA NFA DFA a b 0 A B
  • 报错: 登录异常:Could not read JSON: Could not resolve type id ‘com.macro.mall.tiny.modules.ums.model.UmsAd

    全部报错信息 登录异常 Could not read JSON Could not resolve type id com macro mall tiny modules ums model UmsAdmin as a subtype of
  • 无法登录到你的账户,通常可以通过从你的账户注销,然后重新登录

    1 点击 系统属性 2 点击 高级系统设置 3 点击 高级 点击用户配置文件的设置 删除指定的用户账号 重启才能登录账号
  • C++ 标识符

    标识符 lt cpp language 一个标识符是一个由数字 下划线 小写和大写拉丁字母 和大多数 Unicode 字符 见下文的详细说明 组成的任意长度的序列 有效的标识符必须以一个非数字字符 拉丁语字母 下划线或 Unicode 非数
  • java 事件监听connection_java 事件监听

    事件监听实现 三要素 1 事件源 数据源 要处理的数据 2 事件 承载数据 传递信息并被监听 3 监听器 负责对数据的业务处理 该开发用例采用了Spring的事件监听 1 定义事件类型 public class MyEvent extend
  • unity——Rigidbody类 (刚体)

    unity Rigidbody类 刚体 博客分类 unity3d unity Rigidbody类 转载自 http hi baidu com quibos item 0b035e15e63041b499ce33d8 游戏对象添加Rigid
  • mybatis源码,从配置到 mappedStatement —— mapper.xml 是如何被解析的?

    个人博客导航页 点击右侧链接即可打开个人博客 大牛带你入门技术栈 Ext1 本文源码解析基于 mybatis spring boot starter 2 1 1 即 mybatis 3 5 3 版本 Ext2 本文主要是对源码的讲解 着重点
  • 学习入门 MQTT 协议原理与应用场景

    学习认识 MQTT 协议 掌握学习MQTT协议 本文章学习借鉴于太极创客团队 以表感谢 官网http www taichi maker com 文章目录 学习认识 MQTT 协议 一 MQTT是什么 1 MQTT版本 二 MQTT基本原理
  • 【计算机技术】我用两句话在电脑课上解除了老师的控制

    前言 时光荏苒 日月如梭 转眼间暑假就过完了 我又回到了校园的怀抱 不过这不重要 在语数外之余 我每周还是有两节电脑课的 但是 事情远没有我想的这样美好 就在我满怀期待的准备一展身手 啪 很快啊 美好的一节电脑课从被老师控制结束 要是放在以
  • 机器学习——sklearn转换器和预估器(估计器)

    这里写目录标题 学习目标 1 转换器 特征工程的父类 2 预估器 估计器 estimator 学习目标 目标 知道sklearn的转换器和预估器的执行流程 内容预览 转化器 预估器 估计器 sklearn机器学习算法的实现 1 转换器 特征
  • webpack打包用的cdn,速度明显加快,只要10秒不到,全部import需要近一分钟,--最终算是彻底失败-axios

  • Swin-Unet模型代码详解及改进思路

    Swim unet是针对水下图像分割任务提出的一种模型结构 其基于U Net模型并加入了Swin Transformer模块 可以有效地解决水下图像分割中的光照不均匀 噪声干扰等问题 Swim unet模型代码详解 首先 在导入必要的库后
  • 虚拟化磁盘模式、数据存储详解

    虚拟化磁盘模式 数据存储详解 1 配置模式 1 1 普通 1 2 普通延迟置零 1 3 精简 2 磁盘模式 2 1 从属 2 2 独立 持久 2 3 独立 非持久 3 数据存储 3 1 虚拟化类型数据存储 3 2 非虚拟化类型数据存储 3
  • Web和HTTP

    目录 HTTP概况 Web术语 HTTP基本 HTTP是无状态协议 HTTP连接方式 非持续连接HTTP 例子 花费时间 持续连接的HTTP 非持续的缺点 HTTP报文格式 请求报文 HTTP请求报文的通用格式 及GET POST HEAD
  • 性能测试基础

    性能测试基础知识 性能测试的定义 衡量软件的性能需要考虑的三点内容 性能测试的分类 压力测试 负载测试 容量测试 强度测试 配置测试 基准测试 并发测试 性能指标 响应时间 吞吐量 服务器资源占用 以下内容比较枯燥 但是作为基础无法绕开 就
  • Kuebernetes之DaemonSet

    DaemonSet确保集群中每个 部分 node运行一份pod副本 当node加入集群时创建pod 当node离开集群时回收pod 如果删除DaemonSet 其创建的所有pod也被删除 DaemonSet中的pod覆盖整个集群 当需要在集
  • SpringBoot项目实现增删改查

    接上一章 Java 连接MySql 原你是阳光 O 的博客 CSDN博客 实现单表增删改查 引入依赖
  • JVM调优

    1 JVM运行时数据区 2 基础 1 类加载器 2 双亲委派 2 沙箱机制 3 垃圾回收算法 1 引用计数 2 复制 3 标记清除 4 标记整理 4 GCRoot 1 虚拟机栈中的引用对象 2 方法区中的类静态属性引用的对象 3 方法区中的
  • Python课堂练习

    文章目录 1 用for循环来计算1 2 3 100 2 用for循环来计算1 3 5 99 3 百钱买百鸡问题 采用三重循环 4 百钱买百鸡问题2 采用三重循环 5 采用for算令狐大侠喝了多少酒 6 采用for循环遍历序列 sequenc