Рубрики
Без рубрики

Захватывающий вызов FizzBuzz в Python С решением

FizzBuzz Python-это популярный вопрос python в учебных платформах HackerRank и HackerEarth. Обе платформы имеют одну и ту же проблему.

Автор оригинала: Team Python Pool.

Существуют тысячи обучающих платформ python, где вы можете практиковать свои навыки программирования на Python. Эти платформы содержат некоторые из лучших проблем, которые вы когда-либо могли себе представить. Программы разделены на несколько категорий в зависимости от их тематической категории и уровня сложности. Эти платформы определенно помогут вам узнать что-то новое и улучшить свои методы кодирования. В этом посте мы рассмотрим решения FizzBuzz Python.

FizzBuzz Python-это популярный вопрос python в HackerRank и HackerEarth обучающие платформы. Обе платформы имеют одинаковую постановку задачи и являются очень особенными для новых программистов.

Программа просит вас напечатать “Fizz” для кратного 3, “Buzz” для кратного 5 и “FizzBuzz” для кратного обоих. В обеих платформах ожидается наилучшее оптимальное решение для программы, которое занимает наименьшее время для выполнения.

В этом посте мы рассмотрим все решения на всех языках, включая python 2 и python 3.

Что именно представляет собой постановка задачи FizzBuzz Python?

Точные формулировки проблемы сводятся к следующему –

Выведите каждое число от 1 до 100 (оба включены) на новой строке. Числа, которые кратны 3, печатают “Fizz” вместо числа. Для чисел, которые кратны 5, выведите “Buzz” вместо числа. Для числа, кратного как 3, так и 5, выведите “FizzBuzz” вместо чисел.

Постановка задачи кажется очень простой для обычного программиста. Но с точки зрения новичка, эта программа проверяет навыки, касающиеся циклов и условных выражений. Давайте посмотрим на ограничения, данные для того, чтобы ответы были приемлемыми.

Ограничения для задачи FizzBuzz

Ограничения – это ограничительные факторы, которым должен соответствовать ваш код. Эти ограничения сделаны для того, чтобы идентифицировать лучшие коды с минимальной временной сложностью и лучшим управлением памятью. Ниже приведены ограничения для задачи FizzBuzz Python –

  1. Ограничение по времени: 5 секунд
  2. Ограничение памяти: 256 МБ
  3. Ограничение источника: 1024 КБ
  4. Система подсчета очков: (200 – количество символов в исходном коде)/100 [Только для решений python]

Подсказки Для Проблемы FizzBuzz Python

Существует несколько способов решения проблемы FizzBuzz Python. Если вам нужны подсказки для того же самого здесь, они есть –

Подсказка 1: Создайте цикл “for” с функцией range () для создания цикла из всех чисел от 1 до 100. Прежде чем внедрять FizzBuzz, создайте этот простой цикл, чтобы понять цикличность.

Подсказка 2: Чтобы проверить, что число кратно любому числу, проверьте остаток числа с помощью делителя. Если остаток оказывается равным 0, то он кратен соответствующему числу. Например, 15 оставляет остаток 0 при делении на 5. Это подтверждает, что 15 кратно 5. Используйте ту же логику для создания логического условия.

Подсказка 3: В условных выражениях поставьте кратное 15 падежам поверх 5 или 3. Потому что если число кратно 15, то оно всегда будет кратно 3 и 5. Реализация этого метода сначала проверит случай FizzBuzz.

FizzBuzz Python 3 Решение

Решение проблемы FizzBuzz в Python 3 –

for num in range(1, 101):
    if num % 15:
        print("FizzBuzz")
    elif num % 3:
        print("Fizz")
    elif num % 5:
        print("Buzz")
    else:
        print(num)

Выход –

FizzBuzz Python вывод

Объяснение –

Во-первых, мы объявляем цикл, который колеблется от 1 до 100. Поскольку цикл функции range() все еще включает целое число, мы использовали 101. Мы использовали операторы if из следующего блока, чтобы проверить, является ли кратность каждого числа. Если он делится на 15, выведите “FizzBuzz”, если он делится на 3, выведите “Fizz”, если он делится на 5, выведите “Buzz.” Все эти условные обозначения объединяются с помощью блоков if и elif. Эта петля продолжается до тех пор, пока не достигнет 100.

FizzBuzz Python 2 Решение

Решение проблемы FizzBuzz в Python 2 –

for num in range(1, 101):
    if num % 15:
        print "FizzBuzz"
    elif num % 3:
        print "Fizz"
    elif num % 5:
        print "Buzz"
    else:
        print num

Объяснение –

Объяснение следует то же самое для python 2. Единственное отличие состоит в том, что функция печати работает без скобок.

Самый эффективный Fizzbuzz Python

Когда дело доходит до решения программ на python, самое эффективное решение-это лучшее. Даже если ваш код длинный, он должен быть эффективным, чтобы вычислять меньше и выдавать то же самое. Здесь у нас есть самое эффективное решение для Fizzbuzz, которое поможет вам развить свою алгоритмическую сторону мозга.

Код:

for i in range(1,101):
   ) +)])

Объяснение:

Существует несколько способов решения проблемы FizzBuzz. Каждое условное утверждение занимает O(1) временной сложности. Поэтому лучше всего иметь меньше условных операторов и создавать код, предотвращающий большие умножения.

В нашем коде мы создали список, который имеет другой вывод, к которому обращается индексация. As возвращает 1, если i является делителем или 3, и то же самое относится к. Объединив их с)+), вы можете получить правильный индекс списка.

Fizzbuzz Python Однолинейное решение

Код:

for i in range(1, 101):) or str(i))

Объяснение:

Python поддерживает однострочные циклы, включенные в условные операторы. FizzBuzz-это идеальная задача, в которой вы можете закодировать все решение в одной строке. Используя циклы и условные обозначения в одной строке, вы можете набрать максимальное количество очков.

Решения для FizzBuzz на других языках

Решение Задачи FizzBuzz На Языке C++

#include 
using namespace std;
int main()
{
    for(int;i++){
        if((i%3) &&))
            cout<<"FizzBuzz\n";
        else if(i%3)
            cout<<"Fizz\n";
        else if(i%5)
            cout<<"Buzz\n";
        else
            cout<

Решение проблемы FizzBuzz в Java 8

import java.io.*;
import java.util.*;
 
public class Solution {
    public static void main(String[] args) {
        int; 
        for(int; i; i++){
            if(i % 3 && i % 5){
                System.out.println("FizzBuzz");     
            }
            else if(i % 5){
                System.out.println("Buzz");
            }
            else if(i % 3){
                System.out.println("Fizz");
            }
            else{
                System.out.println(i);
            }
        }
    }
}

Решение проблемы FizzBuzz в Java 8

package main
 
import "fmt"
 
func main() {
        
    for i; i; i++ {
		if {
			fmt.Printf("FizzBuzz\n")
		} else if i%3 {
			fmt.Printf("Fizz\n")
		} else if i%5 {
			fmt.Printf("Buzz\n")
		} else {
			fmt.Printf("%d\n", i)
		}
    }	
}

Проблема FizzBuzz В Go

process.stdin.resume();
process.stdin.setEncoding("utf-8");
var;
process.stdin.on("data", function (input) {
    stdin_input; // Reading input from STDIN
});
 
process.stdin.on("end", function () {
   main(stdin_input);
});
function main(input) {
	var str;
	var;
){
	;
	){
		;
		}
	){
		;
		}
	 ? process.stdout.write(str+"\n") : process.stdout.write(i+"\n");
		i++;
	}
}

Решение Проблемы FizzBuzz В PHP

R (RScript 3.4.0)

for (i in 1:100){
  if (i%%3)
    if (i%%5)
      cat("FizzBuzz\n")
    else
      cat("Fizz\n")
  else
    if (i%%5)
      cat("Buzz\n")
    else
      cat(paste(i,"\n"))
}

Возможно, вам также будет интересно почитать:

  • Возможно, вам также будет интересно почитать:
  • Реализация Ханойской башни на Python

Вывод

Существуют тысячи удивительных задач, которые проверяют ваши базовые знания в мире программирования. Эти проблемы не только помогают вам научиться программировать, но и улучшают ваше логическое мышление. Следовательно, вы всегда должны практиковать проблемы с кодированием, даже если вы находитесь на работе. Нет ничего плохого в том, чтобы узнать больше всего. Подводя итог, проблема FizzBuzz проверяет ваши базовые знания в области кодирования.

Наслаждайтесь обучением и наслаждайтесь кодированием!