• 1
    डेटा I/O
    • कार्य
  • 2
    शर्तें
    • कार्य
  • 3
    for लूप
    • कार्य
  • 4
    स्ट्रिंग
    • कार्य
  • 5
    while लूप
    • कार्य
  • 6
    सूचियां
    • कार्य
  • 7
    2D मैट्रिक्स
    • कार्य
  • 8
    डिक्शनरी
    • कार्य
  • 9
    सेट
    • कार्य
  • 10
    फ़ंक्शन
    • कार्य
  • к

पाठ 1. Entering and output of data

कठिनाई:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

कार्य«शब्दों में संख्या»

💻 Python

एक प्रोग्राम लिखें जो 0 से 9999 तक की संख्या स्वीकार करता है और उसे रूसी भाषा में शब्दों के साथ प्रदर्शित करता है। यदि आप सीमा से अधिक या कम संख्या दर्ज करते हैं, या यदि आप कोई संख्या नहीं दर्ज करते हैं, तो "प्रविष्टि सही नहीं है" स्क्रीन प्रदर्शित करें।

इनपुट फॉर्मेट

एक पंक्ति जिसमें 0 से 9999 तक (दोनों शामिल) एक एकल संख्या हो।

आउटपुट फॉर्मेट

एक पंक्ति जिसमें उद्धरण चिह्नों में संख्या का मौखिक प्रतिनिधित्व होता है।

उदाहरण

इनपुट

1234

आउटपुट

एक हजार दो सौ चौंतीस

संकेत

There will be no clue here, decide for yourself!

main.py
परीक्षण 1
परीक्षण 2
परीक्षण 3
परीक्षण 4
परीक्षण 5
परीक्षण 6
परीक्षण 7
परीक्षण 8
परीक्षण 9
परीक्षण 10
परीक्षण 11
परीक्षण 12
परीक्षण 13
डेवलपर का समाधान
def number_to_words(n):
    """
    Преобразует число от 0 до 9999 в его словесное представление на русском языке.
    """
    if not 0 <= n <= 9999:
        return "ввод не верный"

    if n == 0:
        return "ноль"

    units = {
        1: "один", 2: "два", 3: "три", 4: "четыре", 5: "пять",
        6: "шесть", 7: "семь", 8: "восемь", 9: "девять"
    }
    teens = {
        10: "десять", 11: "одиннадцать", 12: "двенадцать", 13: "тринадцать",
        14: "четырнадцать", 15: "пятнадцать", 16: "шестнадцать",
        17: "семнадцать", 18: "восемнадцать", 19: "девятнадцать"
    }
    tens = {
        20: "двадцать", 30: "тридцать", 40: "сорок", 50: "пятьдесят",
        60: "шестьдесят", 70: "семьдесят", 80: "восемьдесят", 90: "девяносто"
    }
    hundreds = {
        100: "сто", 200: "двести", 300: "триста", 400: "четыреста",
        500: "пятьсот", 600: "шестьсот", 700: "семьсот",
        800: "восемьсот", 900: "девятьсот"
    }

    parts = []

    # Обработка тысяч
    if n >= 1000:
        thousand_val = n // 1000
        if thousand_val == 1:
            parts.append("одна тысяча")
        elif thousand_val == 2:
            parts.append("две тысячи")
        elif thousand_val in [3, 4]:
            parts.append(units[thousand_val] + " тысячи")
        else: # 5-9
            parts.append(units[thousand_val] + " тысяч")
        n %= 1000

    # Обработка сотен
    if n >= 100:
        parts.append(hundreds[n // 100 * 100])
        n %= 100

    # Обработка десятков и единиц
    if n >= 20:
        parts.append(tens[n // 10 * 10])
        n %= 10
        if n > 0:
            parts.append(units[n])
    elif n >= 10:
        parts.append(teens[n])
    elif n > 0:
        parts.append(units[n])
        
    return " ".join(parts)

# Основная часть программы для считывания ввода и вывода результата
try:
    num = int(input())
    result = number_to_words(num)
    print(result)
except ValueError:
    print("ввод не верный")

🎉 बधाई! 🎉

आपने कार्य को शानदार ढंग से हल किया! यह कठिन था, लेकिन आपने सही उत्तर खोजा। आप प्रोग्रामिंग में महारत के करीब हैं! ऐसे ही जारी रखें।

AD

विज्ञापन

red-snake blue-snake green-snake

कोड चल रहा है...

AI सहायक

नमस्ते! मैं आपका प्रोग्रामिंग सहायक हूँ। Python के बारे में कोई भी सवाल पूछें — मैं functions, methods समझा सकता हूँ और मौजूदा task में मदद कर सकता हूँ!