csharp高级练习题:懒惰直放站【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

csharp高级练习题:懒惰直放站【难度:3级】:

makeLooper()函数(在Python make_looper)采用一个字符串(非零长度的)作为参数.它返回的功能.它返回该函数将返回在连续调用字符串的连续字符.一旦它到达最终这将在字符串的开头开始了.

例如:

VAR = ABC makeLooper( 'ABC');
ABC(); //应该返回"A"这个第一个电话
ABC(); //应该返回"B"在这第二个电话
ABC(); //应该返回"C"这个第三个电话
ABC(); //应该在第四调用返回"A"再

ABC = makeLooper 'ABC'
ABC()# 应该返回"A"这个第一个电话
ABC()# 应该返回"B"在这第二个电话
ABC()# 应该返回"C"这个第三个电话
ABC()# 应该在第四调用返回"A"再


FUNC <炭> ABC = Kata.MakeLooper( "ABC");
ABC(); //应该返回"A"这个第一个电话
ABC(); //应该返回"B"在这第二个电话
ABC(); //应该返回"C"这个第三个电话
ABC(); //应该在第四调用返回"A"再

ABC = make_looper( 'ABC')
ABC()# 应该返回"A"这个第一个电话
ABC()# 应该返回"B"在这第二个电话
ABC()# 应该返回"C"这个第三个电话
ABC()# 应该在第四调用返回"A"再

编程目标:

using System;
public class Kata
{
  public static Func MakeLooper(string str)
  {
    // TODO: return a function that loops through 'str' on successive invocations
  }
}


测试样例:

namespace Solution 
{
  using NUnit.Framework;
  using System;
  [TestFixture]
  public class Sample_Tests
  {
    [Test]
    {
      Func abc = Kata.MakeLooper("abc");
      // Two iterations of looper
      // 1
      Assert.AreEqual('a', abc());
      Assert.AreEqual('b', abc());
      Assert.AreEqual('c', abc());
      // 2


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/lazy-repeater

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值