zoukankan      html  css  js  c++  java
  • 利用yield关键字输出杨辉三角

    最近学习了下python,发现里面也有yield的用法,本来对C#里的yield不甚了解,但是通过学习python,对于C#的yield理解更深了!!

    不多说了,小学生水平的表达能力伤不起....

    直接上代码:

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication2
    {
        class Program
        {
    
            static void Main(string[] args)
            {
                foreach (var obj in YHSJ(8))
                {
                    PrintRow(obj);
                }
                Console.ReadKey();
            }
    
            /// <summary>
            /// 取得杨辉三角的迭代器
            /// </summary>
            /// <param name="n"></param>
            /// <returns></returns>
            public static IEnumerable<IEnumerable<int>> YHSJ(int n)
            {
                //第一行
                List<int> row = new List<int> { 1 };
                yield return row;
                //第二行
                row = new List<int> { 1, 1 };
                yield return row;
                //第三行及其之后的
                while (n > 0)
                {
                    List<int> newrow = new List<int> { 1, 1 };
                    int index = row.Count;
                    for (int i = 1; i < index; i++)
                    {
                        newrow.Insert(1, row[i - 1] + row[i]);
                    }
                    yield return newrow;
                    row = newrow;
                    n--;
                }
            }
    
            /// <summary>
            /// 打印一行数据
            /// </summary>
            /// <param name="row"></param>
            public static void PrintRow(IEnumerable<int> row)
            {
                foreach (int i in row)
                {
                    Console.Write(i + "	");
                }
                Console.WriteLine();
            }
        }
    }
    

      

  • 相关阅读:
    postman的本地安装教程
    06-Hibernate中的持久化类
    05-Hibernate的核心API及使用c3p0连接池
    04-Hibernate的常见配置
    03-Hibernate的入门
    02-Hibernate的日志记录
    01-Hibernate框架的概述
    15-struts2 提供的异常处理
    14-struts2的表单标签
    13-struts2中json插件使用
  • 原文地址:https://www.cnblogs.com/a14907/p/5026828.html
Copyright © 2011-2022 走看看