zoukankan      html  css  js  c++  java
  • 大爽Python入门练习题 25 二维列表行列与序数关系

    大爽Python入门练习题总目录

    第二章 中期练习题 中等 第5题

    题目

    背景介绍

    本题目主要是探究二维列表行号列号,与其格子序号之间的关系。
    这在二维的格子游戏或者相关的计算问题中,非常常用。

    简介

    实现两个函数(分别实现)

    1. 函数一cal_order(m, n, ri, ci)
      接受两个四个整数作为参数。

    返回mn列的表格(二维列表)中,
    rici列对应的格子的序号。

    1. 函数二cal_rc(m, n, order)
      接受两个三个整数作为参数。

    返回mn列的表格(二维列表)中,
    序号为order的格子的行列索引。
    返回两个值,return时将两个值用逗号隔开。

    补充:
    默认mn都是正整数。
    默认输入的行列索引和序号都是不超过表格的。

    详细说明

    34列的表格(二维列表),
    其每个格子的序号(order)如下

    0   1   2   3   
    4   5   6   7   
    8   9   10  11  
    

    其实就是从左往右,从上往下,从0开始的计数。

    格子序号order和行列索引ri, ci的关系如下图所示

    所以ri=1, ci=2对应的格子
    序号order为6

    格子序号order=9
    对应的行列索引为ri=2, ci=1

    函数一运行示例

    示例一

    print(cal_order(3, 4, 1, 2))
    

    输出为

    6
    

    示例二

    print(cal_order(5, 6, 2, 3))
    

    输出为

    15
    

    函数二运行示例

    示例一

    print(cal_rc(3, 4, 9))
    

    输出为

    (2, 1)
    

    示例二

    print(cal_rc(6, 5, 18))
    

    输出为

    (3, 3)
    

    分割线

    本小段没有实际意义,
    仅用于分隔题目和答案。
    防止学生无意中直接看到答案,
    影响思路。



















    答案

    函数一

    def cal_order(m, n, ri, ci):
        order = ri * n + ci
        return order
    

    函数二

    def cal_rc(m, n, order):
        ri = order // n
        ci = order % n
        return ri, ci
    
  • 相关阅读:
    在ASP.NET 2.0中使用WebParts
    Asp.net生成静态页面原理
    提高ASP.Net应用程序性能的十大方法
    Web2.0之Tag标签原理实现浅析
    ASP.NET 2.0中的URL映射
    动态加载控件UserControl到页面上:视图状态问题
    C#自动登录网页浏览页面 抓取数据
    .NET Framework 类库提供的命名空间
    一个用于热部署的框架设想
    重构如何进行?
  • 原文地址:https://www.cnblogs.com/BigShuang/p/15671114.html
Copyright © 2011-2022 走看看