首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏软件测试那些事

    TDD案例-FizzBuzz

    1 什么是FizzBuzz FizzBuzz是一个非常适合各种场景使用的编程题目,也被各路大佬推荐用于TDD的教学。 具体的FizzBuzz题目描述可参见 http://codingdojo.org/kata/FizzBuzz/ 本文将展示通过TDD来实现FizzBuzz的过程,并使用Junit5+AssertJ作为测试工具 ” */ FizzBuzz-利用IDEA协助TDD 我们首先定义一个TestFizzBuzz的测试类,并写下以下代码 fizzBuzz = new FizzBuzz(); 然后Alt+Enter 于是得到第一行代码 FizzBuzz fizzBuzz = new FizzBuzz(); 以及空的类FizzBuzz 2FizzBuzz的TDD实现过程 FizzBuzz- 第一个用例: FizzBuzz完整实现 以下是FizzBuzz的完整实现, package com.github.tdd; public class FizzBuzz { public String say(

    59940发布于 2020-12-01
  • 来自专栏软件测试那些事

    TDD案例-FizzBuzz-重构

    在之前的的TDD案例-FizzBuzz文章中,我们介绍了如何以TDD的方式,通过5个测试用例,来驱动我们实现了FizzBuzz。 本文将继续对FizzBuzz的简要实现进行重构。 1. FizzBuzz实现的重构 这是之前的一个简单实现。 "Buzz"; return Integer.toString(i); } } FizzBuzz的需求相对来说是非常简单的,此处我们使用了3个if判断来实现略显多余。 FizzBuzz测试用例的重构 通过观察之前编写的测试用例,可以看出这些用例在格式上是相同的,只是输入和预期结果不同,目前的写法是存在一定的冗余。 fizzBuzz = new FizzBuzz(); @ParameterizedTest(name = "the result is ''{1}'' when say ''{0}''")

    53620发布于 2020-12-01
  • 来自专栏小巫技术博客

    TDD练功房之FizzBuzz

    public class FizzBuzzTest { @Test public void testSayFizz() { assertEquals("Fizz", FizzBuzz.fizzBuzz (3, 3, 5)); } @Test public void testSayBuzz() { assertEquals("Buzz", FizzBuzz.fizzBuzz FizzBuzz.fizzBuzz(15, 3, 5)); } @Test public void testOnlySayNum() { assertEquals ("1", FizzBuzz.fizzBuzz(1, 3, 5)); } } 注:这里我用的IDE是Intellij,测试框架用的是Junit4. 代码我也进行了重构: public class FizzBuzz { private static final String FIZZBUZZ = "FizzBuzz"; private

    2.6K10发布于 2019-05-31
  • 来自专栏软件测试那些事

    在家隔离,不忘学习-FizzBuzz-TDD

    在之前的的TDD案例-FizzBuzz文章中,我们介绍了如何以TDD的方式,通过5个测试用例,来驱动我们实现了FizzBuzz。 本文将继续对FizzBuzz的简要实现进行重构。 1. FizzBuzz实现的重构 这是之前的一个简单实现。 "Buzz"; return Integer.toString(i); } } FizzBuzz的需求相对来说是非常简单的,此处我们使用了3个if判断来实现略显多余。 FizzBuzz测试用例的重构 通过观察之前编写的测试用例,可以看出这些用例在格式上是相同的,只是输入和预期结果不同,目前的写法是存在一定的冗余。 fizzBuzz = new FizzBuzz(); @ParameterizedTest(name = "the result is ''{1}'' when say ''{0}''")

    42020发布于 2020-12-01
  • 用pytorch解决简单的FizzBuzz问题

    FizzBuzz FizzBuzz是一个简单的小游戏。 游戏规则如下:从1开始往上数数,当遇到3的倍数的时候,说fizz,当遇到5的倍数,说buzz,当遇到15的倍数,就说fizzbuzz,其他情况下则正常数数。   我们可以写一个简单的小程序来决定要返回正常数值还是fizz, buzz 或者 fizzbuzz。   # One-hot encode the desired outputs: [number, "fizz", "buzz", "fizzbuzz"] def fizz_buzz_encode(i 由于FizzBuzz游戏本质上是一个分类问题,我们选用Cross Entropyy Loss函数。 优化函数我们选用Stochastic Gradient Descent。  

    26810编辑于 2025-07-18
  • 来自专栏ThoughtWorks

    FizzBuzz与写代码的“一万”个细节

    FizzBuzz是一个经典的TDD入门题目,麻雀虽小,五脏……勉强算全吧。 Stack Overflow创始人曾经在他的一本书里写到,“不要假设程序员都会写程序,招一个程序员来先写个FizzBuzz看看,结果可能会令你吃惊。” 学生报数时,如果所报数字同时是两个特殊数的倍数,也要特殊处理,比如3和5的倍数,那么不能说该数字,而是要说FizzBuzz。 学生报数时,如果所报数字同时是两个特殊数的倍数情况下,也要特殊处理,比如3和5的倍数,那么不能说该数字,而是要说FizzBuzz, 以此类推。 学生报数时,如果所报数字同时是两个特殊数的倍数情况下,也要特殊处理,比如3和5的倍数,那么不能说该数字,而是要说FizzBuzz, 以此类推。

    67920发布于 2020-06-24
  • 来自专栏软件方法

    FizzBuzz的UML类图和序列图

    最近在学习 UML,请问一下,UML 交互图中的 play 方法画得有没有问题呢?

    67920发布于 2019-09-23
  • 来自专栏呼延

    字符串旋转、fizzbuzz、落单的数、翻转整数

    ** No, I can’t ** 实现代码 public List<String> fizzBuzz(int n) { List<String> result = new ArrayList

    83130发布于 2019-07-01
  • 来自专栏QQ音乐前端团队专栏

    测试驱动开发 Test-Driven Development

    /fizzbuzz"); describe("fizzbuzz", () => { test("测正常数字返回", () => { expect(fizzbuzz(1)).toEqual( /fizzbuzz"); describe("fizzbuzz", () => { test("测正常数字返回", () => { expect(fizzbuzz(1)).toEqual( 下面是完整的测试用例&实现&测试截图: // fizzbuzz.test.js const fizzbuzz = require(". /fizzbuzz"); describe("fizzbuzz", () => { test("测正常数字返回", () => { expect(fizzbuzz(1)).toEqual( 15)).toEqual("FizzBuzz"); expect(fizzbuzz(45)).toEqual("FizzBuzz"); }); }); // fizzbuzz.js 实现 function

    2K10发布于 2021-03-15
  • 来自专栏老齐教室

    用Python进行单元测试

    注意,这里所创建的类TestFizzBuzz继承了unittest.TestCase,并且从前面已经创建的fizzbuzz.py——将其视为一个模块,引入创建的函数fizzbuzz。 ) == 'Fizz' 这段程序保存为名为test_fizzbuzz.py的文件,并且与fizzbuzz.py在同一个目录里面。 比如,对于上面的应用程序fizzbuzz.py,如果想测试一下,遇到不能被3整除的数字的表现,就可以在test_fizzbuzz.py的列表中增加一个数字4,然后运行pytest。 对Fizz测试完毕,类似地,还可以继续增加对Buzz、FizzBuzz的测试: import unittest from fizzbuzz import fizzbuzz class TestFizzBuzz 此外,还有第18行,即fizzbuzz.py的最后一行,返回去看看源程序,它的作用只是执行此脚本,也不是测试对象。 但是,报告中所提到尚未覆盖的第9行,是fizzbuzz()函数中的一行。

    3.6K20发布于 2021-04-19
  • 来自专栏Reck Zhang

    LeetCode 1195 - Fizz Buzz Multithreaded

    If the number is divisible by both 3 and 5, output “fizzbuzz”. Suppose you are given the following code: class FizzBuzz { public FizzBuzz(int n) { ... } (printFizzBuzz) { ... } // only output "fizzbuzz" public void number(printNumber) { ... } // only output the numbers } Implement a multithreaded version of FizzBuzz with four threads. Thread C will call fizzbuzz() to check for divisibility of 3 and 5 and outputs fizzbuzz.

    49320发布于 2021-08-11
  • 来自专栏岚的工作随笔

    TDD | 越是“老古董”越有高效率?

    ", FizzBuzz.fizzBuzz(15)); assertEquals("Fizz", FizzBuzz.fizzBuzz(3)); assertEquals("Buzz ", FizzBuzz.fizzBuzz(5)); assertEquals("1", FizzBuzz.fizzBuzz(1)); assertEquals("2", FizzBuzz.fizzBuzz (2)); assertEquals("Fizz", FizzBuzz.fizzBuzz(6)); assertEquals("Buzz", FizzBuzz.fizzBuzz (10)); assertEquals("FizzBuzz", FizzBuzz.fizzBuzz(30)); assertEquals("4", FizzBuzz.fizzBuzz (4)); assertEquals("7", FizzBuzz.fizzBuzz(7)); }}小步迭代,其实就是重构这部分逻辑。

    36770编辑于 2024-09-22
  • 来自专栏浊酒清味

    如何使用Python进行单元测试

    (self): fizzbuzz = FizzBuzz() result = fizzbuzz.filter(2) self.assertEqual('2 如果您查看这两个测试用例,您会看到它们都创建了FizzBuzz类的一个实例。第一个在第6行,另一个在第11行。 我们可以从这两个方法中重构FizzBuzz实例的创建,从而改进代码。 import unittest class FizzBuzzTest(unittest.TestCase): def setUp(self): self.fizzbuzz = FizzBuzz def test_one_should_return_one(): fizzbuzz = FizzBuzz() result = fizzbuzz.filter(1) assert @pytest.fixture def fizzBuzz(): return FizzBuzz() def test_one_should_return_one(fizzBuzz):

    4K20发布于 2021-04-21
  • 来自专栏福大大架构师每日一题

    2021-11-14:Fizz Buzz。给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符

    给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == "FizzBuzz" 如果 i 同时是 代码如下: package main import "fmt" func main() { ans := fizzBuzz(16) fmt.Println(ans) } func fizzBuzz(n int) []string { ans := make([]string, 0) for i := 1; i <= n; i++ { if i%15 == 0 { ans = append(ans, "FizzBuzz") } else if i%5 == 0 { ans = append 左神java代码](https://github.com/algorithmzuo/coding-for-great-offer/blob/main/src/class35/Problem_0412_FizzBuzz.java

    89730发布于 2021-11-16
  • 来自专栏Coco的专栏

    一道有意思的 CSS 面试题,FizzBu​​zz ~

    我们来看看题目: 如果遇见了 3 的倍数要说 Fizz,5 的倍数就说 Buzz,如果即是 3 的倍数又是 5 的倍数就说 FizzBuzz。 { content: counter(fizzbuzz); } li:nth-child(3n)::before { content: "fizz"; } li:nth-child(5n )::before { content: "buzz"; } li:nth-child(15n)::before { content: "fizzbuzz"; } 如果不满足 fizzbuzz 规则的,使用 CSS 计数器填充 content 内容 content: counter(fizzbuzz),满足规则的则使用对应的字符串填充 content。 结果如下: CodePen Demo -- CSS FizzBuzz 1 延伸一下 当然,这个 FizzBuzz 还可以用于创建一些有意思的布局。

    52210编辑于 2022-04-28
  • 来自专栏程序IT圈

    ​LeetCode刷题实战412:Fizz Buzz

    problems/fizz-buzz/ Given an integer n, return a string array answer (1-indexed) where: answer[i] == "FizzBuzz 如果 n 是5的倍数,输出“Buzz”; 3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。 " ] 解题 模拟法思路 就像你每次玩 FizzBuzz 那样,你只需要判断这个数是能被 3 整除? 对于每个数,判断它能不能同时被 3 和 5 整除,如果可以就把 FizzBuzz 加入答案列表。 如果不行,判断它能不能被 3 整除,如果可以,把 Fizz 加入答案列表。 class Solution { public List<String> fizzBuzz(int n) { // ans list List<String> ans = new

    45820发布于 2021-10-21
  • 来自专栏freesan44

    LeetCode 412. Fizz Buzz

    如果 n 是3的倍数,输出“Fizz”; 如果 n 是5的倍数,输出“Buzz”; 3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。 "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz " ] 解题思路 class Solution: def fizzBuzz(self, n: int) -> List[str]: res = [] for i in range(1, n+1): if i%3 ==0 and i%5 == 0:#同时被3、5整除 res.append("FizzBuzz" res.append(str(i)) return res if __name__ == '__main__': n = 15 ret = Solution().fizzBuzz

    30910编辑于 2021-12-06
  • 来自专栏AI SPPECH

    111_编程挑战基础:从FizzBuzz到逻辑算法的系统化学习指南

    从简单的FizzBuzz到复杂的算法实现,每一个编程挑战都在锻炼我们的逻辑思维和代码表达能力。 FizzBuzz是一个经典的编程挑战,虽然简单,但能很好地测试基础编程能力和逻辑思维。 问题的基础实现: def fizzbuzz(): """实现基础的FizzBuzz逻辑""" for i in range(1, 101): if i % 3 == 0 优化实现 我们可以通过字符串拼接的方式优化代码,使其更加简洁: def fizzbuzz_optimized(): """使用字符串拼接优化FizzBuzz实现""" for i in FizzBuzz变体实现: def custom_fizzbuzz(start=1, end=100, rules=None): """ 实现自定义规则的FizzBuzz

    17610编辑于 2025-11-16
  • 来自专栏面试指北

    LeetCode 412. Fizz Buzz

    For numbers which are multiples of both three and five output “FizzBuzz”. Return: [ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz 代码 class Solution { public List<String> fizzBuzz(int n) { List<String> result = new ArrayList for(int i = 1; i <= n; i++) { if (i % 15 == 0){ result.add("FizzBuzz

    35520发布于 2021-07-23
  • 来自专栏mathor

    PyTorch训练神经网络玩游戏

    Game rules 很简单的一个小游戏,名字叫"FizzBuzz",游戏规则如下: 从1开始数数,当遇到3的倍数的时候,说fizz,当遇到5的倍数的时候,说buzz,当遇到15的倍数的时候,就说fizzbuzz ,其他情况则正常数数 Game conversion to classification problem 可以想到,在这个游戏中,总共只有四类,fizzbuzz,buzz,fizz,number 所以我们先定义一个函数 else: return 0 有了encode函数,还需要一个decode函数,参数是个数字,以及这个数字的类别,返回是这个数字应该喊什么,比方说decode(15, 3),返回的就应该是fizzbuzz ,再比如decode(7, 0),就应该返回7 def fizz_buzz_decode(i, label): return [str(i), 'fizz', 'buzz', 'fizzbuzz 单从fizzbuzz的结果来看,虽然他并没有准确的达到每次都在15的倍数输出,但是它隐约知道在15的倍数附近要输出 ?

    1.7K20发布于 2019-12-30
领券