Skip to content

Commit

Permalink
Merge branch 'mouredev:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Othamae authored Jun 28, 2023
2 parents 8f52f86 + 5fe1020 commit 2f8a5e7
Show file tree
Hide file tree
Showing 11 changed files with 439 additions and 0 deletions.
43 changes: 43 additions & 0 deletions Retos/Reto #0 - EL FAMOSO FIZZ BUZZ [Fácil]/c#/ernestoalbarez.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using System;

/*
Reto #0: EL FAMOSO "FIZZ BUZZ"
* Escribe un programa que muestre por consola (con un print) los
* números de 1 a 100 (ambos incluidos y con un salto de línea entre
* cada impresión), sustituyendo los siguientes:
* - Múltiplos de 3 por la palabra "fizz".
* - Múltiplos de 5 por la palabra "buzz".
* - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
*/


class Program
{
static void Main()
{
string fizz = "Fizz";
string buzz = "Buzz";
string fizzBuzz = "FizzBuzz";

for (int i=1; i<=100; i++)
{
bool divisibleBy3 = i%3==0;
bool divisibleBy5 = i%5==0;

if (divisibleBy3 && divisibleBy5) {
Console.WriteLine(fizzBuzz);
}
else if (divisibleBy3) {
Console.WriteLine(fizz);
}
else if (divisibleBy5) {
Console.WriteLine(buzz);
}
else {
Console.WriteLine(i);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include <iostream>
#include <string>

/*
Reto #0: EL FAMOSO "FIZZ BUZZ"
* Escribe un programa que muestre por consola (con un print) los
* números de 1 a 100 (ambos incluidos y con un salto de línea entre
* cada impresión), sustituyendo los siguientes:
* - Múltiplos de 3 por la palabra "fizz".
* - Múltiplos de 5 por la palabra "buzz".
* - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
*/

int main()
{
std::string fizz = "Fizz";
std::string buzz = "Buzz";
std::string fizzBuzz = "FizzBuzz";

for (int i = 1; i <= 100; i++) {
bool divisibleBy3 = i % 3 == 0;
bool divisibleBy5 = i % 5 == 0;

if (divisibleBy3 && divisibleBy5) {
std::cout << fizzBuzz << std::endl;
}
else if (divisibleBy3) {
std::cout << fizz << std::endl;
}
else if (divisibleBy5) {
std::cout << buzz << std::endl;
}
else {
std::cout << i << std::endl;
}
}

return 0;
}
35 changes: 35 additions & 0 deletions Retos/Reto #0 - EL FAMOSO FIZZ BUZZ [Fácil]/c/ernestoalbarez.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#include <stdio.h>
#include <stdbool.h>

/*
Reto #0: EL FAMOSO "FIZZ BUZZ"
* Escribe un programa que muestre por consola (con un print) los
* números de 1 a 100 (ambos incluidos y con un salto de línea entre
* cada impresión), sustituyendo los siguientes:
* - Múltiplos de 3 por la palabra "fizz".
* - Múltiplos de 5 por la palabra "buzz".
* - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
*/

void main() {
const char* fizz = "Fizz";
const char* buzz = "Buzz";
const char* fizzBuzz = "FizzBuzz";

for (int i=1; i<=100; i++) {
bool divisibleBy3 = i%3==0;
bool divisibleBy5 = i%5==0;

if (divisibleBy3 && divisibleBy5) {
puts(fizzBuzz);
} else if (divisibleBy3) {
puts(fizz);
} else if (divisibleBy5) {
puts(buzz);
} else {
printf("%d\n", i);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
Reto #0: EL FAMOSO "FIZZ BUZZ"
* Escribe un programa que muestre por consola (con un print) los
* números de 1 a 100 (ambos incluidos y con un salto de línea entre
* cada impresión), sustituyendo los siguientes:
* - Múltiplos de 3 por la palabra "fizz".
* - Múltiplos de 5 por la palabra "buzz".
* - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
*/

public class ernestoalbarez {
public static void main(String[] args) {
for (int i=1; i<=100; i++) {
StringBuilder output = new StringBuilder();

if (i % 3 == 0) {
output.append("Fizz");
}
if (i % 5 == 0) {
output.append("Buzz");
}

System.out.println(
output.length()>0 ?
output.toString() :
String.valueOf(i)
);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
Reto #0: EL FAMOSO "FIZZ BUZZ"
* Escribe un programa que muestre por consola (con un print) los
* números de 1 a 100 (ambos incluidos y con un salto de línea entre
* cada impresión), sustituyendo los siguientes:
* - Múltiplos de 3 por la palabra "fizz".
* - Múltiplos de 5 por la palabra "buzz".
* - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
*/

for (let i=1; i<=100; i++) {
let output = "";

if (i%3 === 0) {
output += "Fizz";
}
if (i%5 === 0) {
output += "Buzz";
}
console.log(output || `${i}`);
}

21 changes: 21 additions & 0 deletions Retos/Reto #12 - VIERNES 13 [Fácil]/python/tecfer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
'''
Crea una función que sea capaz de detectar si existe un viernes 13 en el mes y el año indicados.
- La función recibirá el mes y el año y retornará verdadero o falso.
'''
import datetime

def friday_13(month, year) ->bool :
try:
return datetime.date(year, month, 13).isoweekday() == 5
except:
return False

def main():

print(friday_13(6,2023))
print(friday_13(4,2023))
print(friday_13(10,2023))
print(friday_13(1,2023))

if __name__ == '__main__':
main()
24 changes: 24 additions & 0 deletions Retos/Reto #26 - TESTING [Media]/python/Hugovrc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from datetime import datetime
import unittest

def FridayThe13th(month, year):
date = datetime(year, month, 13)

return True if date.weekday() == 4 else False

class test_viernes_13(unittest.TestCase):
def test_1(self):
self.assertTrue(FridayThe13th(1,2023))
def test_2(self):
self.assertEqual(FridayThe13th(1,2025),False)
def test_3(self):
with self.assertRaises(TypeError):
FridayThe13th("01","2026")
def test_4(self):
self.assertEqual(FridayThe13th("1","2023"),True)


if __name__ == '__main__':
unittest.main()


56 changes: 56 additions & 0 deletions Retos/Reto #26 - TESTING [Media]/python/ingjavierpinilla.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import unittest
from datetime import datetime


def has_friday_13(year: int, month: int) -> bool:
"""Esta funcion retorna verdadero si para un año y mes dado existe un viernes 13
Args:
year (int):
month (int):
Returns:
bool:
"""
if not isinstance(year, int):
raise TypeError("Year invalid, enter a valid integer number")
if not isinstance(month, int):
raise TypeError("Month invalid, enter a valid integer number")

return datetime(year, month, 13).weekday() == 4


class TestIsFriday13(unittest.TestCase):
def setUp(self):
self.is_friday_13 = {"year": 2023, "month": 10}
self.not_friday_13 = {"year": 2023, "month": 7}

def test_invalid_year(self):
with self.assertRaises(TypeError):
has_friday_13(year="1520", month=7)

def test_invalid_month(self):
with self.assertRaises(TypeError):
has_friday_13(year=1520, month=(1520, 1))

def test_expected_return(self):
self.assertIsInstance(has_friday_13(year=1520, month=7), bool)

def test_valid_friday_13(self):
self.assertIs(
has_friday_13(
year=self.is_friday_13["year"], month=self.is_friday_13["month"]
),
True,
)

def test_invalid_friday_13(self):
self.assertIsNot(
has_friday_13(
year=self.not_friday_13["year"], month=self.not_friday_13["month"]
),
True,
)

if __name__ == "__main__":
unittest.main()
27 changes: 27 additions & 0 deletions Retos/Reto #26 - TESTING [Media]/python/tecfer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import unittest
from datetime import date

def friday_13(month, year) -> bool :
try:
return date(year, month, 13).isoweekday() == 5
except:
return False

class FridayTestCase(unittest.TestCase):

def test_is_friday_13(self):
day = friday_13(1,2023)
self.assertTrue(day)

def test_is_not_friday_13(self):
day = friday_13(2,2023)
self.assertFalse(day)

def test_invalid_date(self):
day = friday_13(13,2023)
self.assertFalse(day)



if __name__ == '__main__':
unittest.main()
40 changes: 40 additions & 0 deletions Retos/Reto #26 - TESTING [Media]/swift/allbertoMD.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import Foundation
import XCTest

// Se aconseja usar el script en Playground para poder usar XCTest

func isFriday13th(month: Int, year: Int) -> Bool {

let calendar = Calendar.current
var components = DateComponents()

components.year = year
components.month = month
components.day = 13

if let date = calendar.date(from: components) {
let weekday = calendar.component(.weekday, from: date)
return weekday == 6
}

return false
}

class IsFriday13thTests: XCTestCase {

func testIsFriday13th() {

XCTAssertTrue(isFriday13th(month: 8, year: 2021))
XCTAssertTrue(isFriday13th(month: 1, year: 2023))


XCTAssertFalse(isFriday13th(month: 5, year: 2023))
XCTAssertFalse(isFriday13th(month: 7, year: 2025))
}
}

IsFriday13thTests.defaultTestSuite.run()




Loading

0 comments on commit 2f8a5e7

Please sign in to comment.