21

Re: Потрібна допомога

ping написав:

я б вам радив   пройти курс по базових типах даних і операціях з ними, а тоді вже переходити до класів.
наприклад https://www.codecademy.com/learn/learn-python

Я це все вчив. Просто коли я пройшов тему циклів і тему списків і словників - в мене пропала мотивація і я півроку не писав. І ось коли я недавно вернувся до програмування, то я вирішив нічого не повторяти, а почати зразу наступну тему. Але коли я шукав помилку в цій програмі то я вже все повторив.

22 Востаннє редагувалося koala (19.01.2018 13:13:52)

Re: Потрібна допомога

Назви operacia_d і operacia_v незручні. add/remove чи deposit/withdraw були б кращі.
Глобальні змінні - це зло. myAccount ще можна стерпіти, навколо нього вся програма будується, а от vibir треба ліквідувати:

def vvid(vibir):
   ...
while True:
  vibir = input('Щоб добавити грошей на рахунок напишіть 1, щоб зняти - 2: ')
  if vibir not in [1,2]:
    break
  vvid(vibir)

Зрештою, можна і глобальності myAccount позбутися, якщо передавати його в vvid.
Голий input в Python 2 теж не дуже добре.

23

Re: Потрібна допомога

koala написав:

Назви operacia_d і operacia_v незручні. add/remove чи deposit/withdraw були б кращі.
Глобальні змінні - це зло. myAccount ще можна стерпіти, навколо нього вся програма будується, а от vibir треба ліквідувати:

def vvid(vibir):
   ...
while True:
  vibir = input('Щоб добавити грошей на рахунок напишіть 1, щоб зняти - 2: ')
  if vibir not in [1,2]:
    break
  vvid(vibir)

Зрештою, можна і глобальності myAccount позбутися, якщо передавати його в vvid.
Голий input в Python 2 теж не дуже добре.

class BankAccount:
    def __init__(self, name, number_score, score_account):
        self.name = name
        self.number_score = number_score
        self.score_account = score_account
    def __str__(self):
        msg = self.name + ' на вашому рахунку ' + self.score_account + ' грн.'
        return msg
    def add(self, deposit):
        self.score_account = float(self.score_account) + deposit
    def remove(self, withdraw):
        self.score_account = float(self.score_account) - withdraw
myAccount = BankAccount('Ілля', '54321', '40')
print myAccount
print 'Номер рахунку:', myAccount.number_score
def vvid(choice):
    if choice == 1:
        dep = float(raw_input('Яку суму ви хочете добавити на ваш рахунок: '))
        print 'На ваш рахунок було нараховано ' + str(dep) + ' грн.'
        myAccount.add(dep)
        print 'Тепер на вашому рахунку ' + str(myAccount.score_account) + ' грн.'
    else:
        withd = float(raw_input('Яку суму ви хочете зняти з вашого рахунку: '))
        print 'З вашого рахунку було знято ' + str(withd) + ' грн.'
        myAccount.remove(withd)
        print 'Тепер на вашому рахунку ' + str(myAccount.score_account) + ' грн.'
while True:
    choice = float(raw_input('Щоб добавити грошей на рахунок напишіть 1, щоб зняти - 2: '))
    while choice not  in [1,2]:
        break
    vvid(choice)
print 'Це не 1 і не 2, тому я завершую роботу.'

Ось так?
Я не дуже розумію як можна зробити myAccount не глобальним. Я взагалі ще не знаю як робити код чистим. Треба буде почитати...

24

Re: Потрібна допомога

Eff1c написав:
ping написав:

я б вам радив   пройти курс по базових типах даних і операціях з ними, а тоді вже переходити до класів.
наприклад https://www.codecademy.com/learn/learn-python

Я це все вчив. Просто коли я пройшов тему циклів і тему списків і словників - в мене пропала мотивація і я півроку не писав. І ось коли я недавно вернувся до програмування, то я вирішив нічого не повторяти, а почати зразу наступну тему. Але коли я шукав помилку в цій програмі то я вже все повторив.


while vibir == 1 or vibir == 2:

а якщо варіантів значень буде десяток?

Прихований текст
while vibir in {1, 2}:

раджу порішати пару сотень задачок типу http://www.codeabbey.com/index/task_list і подивитися код інших учасників

але справа Ваша - можна вивчати інтеграли до вивчення таблички множення - але то довгий шлях

Подякували: Eff1c1

25

Re: Потрібна допомога

ping написав:

раджу порішати пару сотень задачок типу http://www.codeabbey.com/index/task_list і подивитися код інших учасників

Цікавий сайт. Жаль що я не знаю англійської і доводиться кожен раз перекладати сторінки корявим гугл перекладачем.

26

Re: Потрібна допомога

Якщо хто має ресурси по циклах на Python (не основи а деталі) - будь ласка скиньте.

27 Востаннє редагувалося /KIT\ (08.07.2021 13:38:03)

Re: Потрібна допомога

вчи англійську, знадобиться

28

Re: Потрібна допомога

/KIT\ написав:

вчи англійську, знадобиться

Знаю... Вчу... Але не дуже виходить((

29 Востаннє редагувалося /KIT\ (08.07.2021 13:37:57)

Re: Потрібна допомога

В мануалі все чудово розписанно, тільки англійською.

30

Re: Потрібна допомога

Eff1c написав:
/KIT\ написав:

вчи англійську, знадобиться

Знаю... Вчу... Але не дуже виходить((

краще виходить якщо:
- читати документацію, туторіали англійською ( хоча б 70%)
- всі інтерфейси на комп'ютері намагатися встановлювати тільки англійською
- гуглити англійською
- замінити російськомовний віндовз на англомовний дебіан

Подякували: FakiNyan, /KIT\, ostap34PHP, Eff1c4

31

Re: Потрібна допомога

/KIT\ написав:

В мануалі все чудово розписанно, тільки англійською.

можна посилання?

32

Re: Потрібна допомога

краще виходить якщо:
- читати документацію, туторіали англійською ( хоча б 70%)
- всі інтерфейси на комп'ютері намагатися встановлювати тільки англійською
- гуглити англійською
- замінити російськомовний віндовз на англомовний дебіан

Погані поради, себто добрі для вивчення англійського канцеляриту на початку.

33

Re: Потрібна допомога

Eff1c написав:

Якщо хто має ресурси по циклах на Python (не основи а деталі) - будь ласка скиньте.

На українському вікіпідручнику є два підручники мови Пайтон.

34

Re: Потрібна допомога

Виникло таке питання: я коли пишу програму (зазвичай це стається з списком чи словником) з українськими словами (з англійськими таке не трапляється) при виводі часто (а якщо з споском, то завжди) замість слів видає щось типу "\xc7\xe2\xee\xf0\xee\xf2\xed\xba \xe9\xee\xec\xf3 \xf7\xe8\xf1\xeb\xee"
Сьогодні писав ось таку програмку, що число пише у зворотньому напрямку:

n1 = int(raw_input('Введіть ціле число: '))
n2 = 0
while n1 > 0:
    digit = n1 % 10
    n1 = n1 // 10
    n2 = n2 * 10
    n2 = n2 + digit
print("Зворотнє йому число: ", n2)

На екран виводить
Введіть ціле число: 321467
('\xc7\xe2\xee\xf0\xee\xf2\xed\xba \xe9\xee\xec\xf3 \xf7\xe8\xf1\xeb\xee: ', 764123)

Мені це вже надоїло.
Що можна зробити?
Може, спробувати найти код до кожної букви і написати модуль (не знаю чи я зможу його написати), щоб переводив ці "каракулі" на нормальні українські слова?
Чи може установити python 3? Ви не знаєте чи там такі помилки бувають?

35

Re: Потрібна допомога

Eff1c написав:

Виникло таке питання: я коли пишу програму (зазвичай це стається з списком чи словником) з українськими словами (з англійськими таке не трапляється) при виводі часто (а якщо з споском, то завжди) замість слів видає щось типу "\xc7\xe2\xee\xf0\xee\xf2\xed\xba \xe9\xee\xec\xf3 \xf7\xe8\xf1\xeb\xee"
Сьогодні писав ось таку програмку, що число пише у зворотньому напрямку:

n1 = int(raw_input('Введіть ціле число: '))
n2 = 0
while n1 > 0:
    digit = n1 % 10
    n1 = n1 // 10
    n2 = n2 * 10
    n2 = n2 + digit
print("Зворотнє йому число: ", n2)

На екран виводить
Введіть ціле число: 321467
('\xc7\xe2\xee\xf0\xee\xf2\xed\xba \xe9\xee\xec\xf3 \xf7\xe8\xf1\xeb\xee: ', 764123)

Мені це вже надоїло.
Що можна зробити?
Може, спробувати найти код до кожної букви і написати модуль (не знаю чи я зможу його написати), щоб переводив ці "каракулі" на нормальні українські слова?
Чи може установити python 3? Ви не знаєте чи там такі помилки бувають?

utf-8

а можна просто перейти на python3 і  не вчити те, що не будете використовувати через 3-5 років.

36

Re: Потрібна допомога

ping написав:

а можна просто перейти на python3 і  не вчити те, що не будете використовувати через 3-5 років.

Значить на 3-му таких помилок нема?

37 Востаннє редагувалося ping (20.01.2018 15:18:34)

Re: Потрібна допомога

Eff1c написав:
ping написав:

а можна просто перейти на python3 і  не вчити те, що не будете використовувати через 3-5 років.

Значить на 3-му таких помилок нема?

це не помилки.

спробуйте першим рядком написати таке:
# -*- coding: UTF-8 -*-
(тільки використайте свою кодову таблицю)
https://www.python.org/dev/peps/pep-0263/

Подякували: Eff1c, leofun012

38

Re: Потрібна допомога

Встановив 3. Все чудово.
Потрібно на нього переходити. В принципі крім функції input сильних відмінностей немає.

39

Re: Потрібна допомога

Eff1c написав:

Встановив 3. Все чудово.
Потрібно на нього переходити. В принципі крім функції input сильних відмінностей немає.

тут основні
www.cs.carleton.edu/faculty/jgoldfea/cs201/spring11/Python2vs3.pdf
але це ще не всі.


ну і async/await в 3.5+

Подякували: Eff1c, leofun012

40

Re: Потрібна допомога

ping написав:
Eff1c написав:

Встановив 3. Все чудово.
Потрібно на нього переходити. В принципі крім функції input сильних відмінностей немає.

тут основні
www.cs.carleton.edu/faculty/jgoldfea/cs201/spring11/Python2vs3.pdf
але це ще не всі.


ну і async/await в 3.5+

Дякую. А  async/await я ще не вчив.