• Почему считается неточно?

    @kalapanga
    Если тип столбца freight это real или double precision, то Ваша проблема видимо из-за того, что число 39.92 не может быть точно представлено в этом формате. На самом деле там хранится другое значение, отличающееся в каком-то там знаке после запятой.
    Не надо сравнивать числа этих типов на строгое равенство.
    Ответ написан
    Комментировать
  • Почему считается неточно?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Первое что приходит на ум сравнение с плавающей точкой, попробуйте вот этот код

    https://stackoverflow.com/questions/51847438/postg...
    Ответ написан
    Комментировать
  • Почему не работает код?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Потому что результат замены надо записывать. replace() только возвращает результат, а не изменяет исходную строку.
    В целом алгоритм конечно кривой. Чтобы заменить буквы на цифры, не нужно перебирать строку по одной букве. А если уж и делать перебором, как у вас, то тогда собирать новую строку из х.
    Но по уму надо просто сделать в цикле замену по словарю

    Если уж соревноваться в решениях, хотя автор вроде бы не просил, то беглое гугление даёт
    number.translate(''.maketrans("ABCDEFGHIJKLMNOPQRSTUVWXYZ","22233344455566677778889999"))
    Ответ написан
    Комментировать
  • Почему не работает код?

    sheerluck
    @sheerluck
    def main():
        data = {"ABC": "2", "DEF": "3", "GHI": "4",
                "JKL": "5", "MNO": "6", "PQRS": "7",
                "TUV": "8", "WXYZ": "9"}
        number = input("Введите телефонный номер: ")
        for x in number:
            if x.isalpha():
                for trio in data:
                    if x in trio:
                        number = number.replace(x, data[trio])
                        break
        print(number)
    main()
    Ответ написан
    2 комментария
  • Для чего нужна черепашья графика?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Ну во-первых - для детей для обучения азам программирования. Чтобы понять что последовательность неких действий, которые можно запрограммировать и отобразить на экране - это простейшая программа.
    Во-вторых - представьте что вам нужно резцом для координатного станка управлять, чтобы выточить какую-то сложную фигуру. Вам нужно опустить резец на столько-то миллиметров, сточить фаску вправо на столько-то, сделать рез вглубь еще на столько-то - и т.п. То есть можно использовать и визуализировать те же элементы черепашьей графики...
    Ответ написан
    Комментировать
  • Для чего нужна черепашья графика?

    Vindicar
    @Vindicar
    RTFM!
    Для обучения основам составления алгоритмов сойдёт. Больше, считай, ни для чего.
    Ответ написан
    Комментировать
  • Для чего нужна черепашья графика?

    @deliro
    Наглядно увидеть, что твой код что-то делает. Никакой практической ценности это не несёт
    Ответ написан
    Комментировать
  • Можно ли так решить задачу "камень-ножницы-бумага"?

    @artempawww
    Даже если не использовать словари (тобеж победители и т.д.), то Ваше решение тоже можно сократить:

    from random import choice
    
    loss, win, draw = "Компьютер выиграл!", "Вы выиграли!", "Ничья"
    stuffs = ["камень", "ножницы", "бумага"]  #создает список с возможными предметами
    computer_choice = choice(stuffs)
    
    while True:
        player_stuff = input("Введите предмет (камень, ножницы, бумага): ").strip().lower()  #предлагает игроку ввести свой предмет (strip убирает пробел на конце, lower переводит все в нижний регистр (КаМенЬ => камень))
        if player_stuff not in stuffs:
            print("Так нельзя! Вы можете ввести только камень, ножницы и бумага!")  #уходит в бесконечный цикл
        else:
            break  #выходит из цикла
    
    print(f"Ваш предмет: {player_stuff}\nПредмет компьютера: {computer_choice}")    
    if player_stuff == computer_choice:  #проверяет на ничью
        print(draw)
    elif player_stuff == "камень":
        if computer_choice == "бумага": print(loss)
        elif computer_choice == "ножницы": print(win)
    elif player_stuff == "ножницы":
        if computer_choice == "бумага": print(win)
        elif computer_choice == "камень": print(loss)
    elif player_stuff == "бумага":
        if computer_choice == "камень": print(win)
        elif computer_choice == "ножницы": print (loss)


    PS: Почитайте PEP8
    Ответ написан
    Комментировать
  • Можно ли так решить задачу "камень-ножницы-бумага"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Думаю что вся игровая логика описывается орграфом из трех вершин и 3 ребер.
    from enum import Enum
    
    class Game(Enum):
         STONE    = 1
         SCISSORS = 2
         PAPER    = 3
    
    winners = { Game.STONE : Game.SCISSORS, 
                Game.SCISSORS : Game.PAPER, 
    						Game.PAPER : Game.STONE }
    Ответ написан
    Комментировать
  • Можно ли так решить задачу "камень-ножницы-бумага"?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1.Зачем вы два раза запрашиваете ввод числа? Просто сделайте бесконечный цикл а для выхода используйте проверку на соответствие данных.
    2.Проверку ввода можно свести к двум вариантам:
    а. Введенное число удовлетворяет требованием.
    б. Оно не удовлетворяет
    Для проверки можно использовать два подхода: конструкция match case и оператор in.
    Хотя, на мой взгляд, вариант с match тут чуть более уместен с точки зрения семантики.
    3.Зачем вы вводите название "жестов" и потом добавляете "прослойку" для сравнения чисел? Эти названия все-равно нигде не фигурируют, не лучше ли сравнивать сразу цифры?
    По поводу остального уже ответили.
    Ответ написан
    Комментировать