Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2014 17:16:36

ChazyChazZz
Зарегистрирован: 2014-11-25
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос новичка

Вообщем я совсем недавно по своему желанию начал изучать Python(версия 3.4.3).
допустим я создаю такой простой калькулятор степеней

n = "Калькулятор степеней v0.1   "
for char in n:
    print(char)
print("x - число, возводимое в степень")
x = int(input("x= "))
print("y - сама степень")
y = int(input("y= "))
print(x**y)
j = input ("Если хочешь считать дальше введи 1 если нет введи любое другое число-  ")
if j == ("1"):
    print("x - число, возводимое в степень")
    x = int(input("x= "))
    print("y - сама степень")
    y = int(input("y= "))
    print(x**y)
else:
    input("Нажмите Enter чтобы выйти из программы")
    
Как сделать так чтобы можно было бесконечно считать не открывая программы заново? Я предполагаю что это как-то связано со функцией return или while. Вообщем помогите! Заранее спасибо!

Отредактировано ChazyChazZz (Ноя. 25, 2014 17:31:00)

Офлайн

#2 Ноя. 25, 2014 17:33:53

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Вопрос новичка

#-*- coding: utf-8 -*-
print("Калькулятор степеней v0.1   ")
while True:
    print("x - число, возводимое в степень")
    x = int(input("x= "))
    print("y - сама степень")
    y = int(input("y= "))
    print(x**y)
    if input("Если хочешь считать дальше введи 1 если нет введи любое другое число-  ") != '1': break



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Ноя. 25, 2014 17:39:15

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Вопрос новичка

или так:

#-*- coding: utf-8 -*-
print("Калькулятор степеней v0.1   ")
while True:
    print(int(input("x - число, возводимое в степень\nx = "))**int(input("y - сама степень\ny = ")))
    if input("Если хочешь считать дальше введи 1 если нет введи любое другое число-  ") != '1': break



————————————————
-*- Simple is better than complex -*-

Офлайн

#4 Ноя. 25, 2014 17:41:28

ChazyChazZz
Зарегистрирован: 2014-11-25
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос новичка

terabayt
или так:
Спасибо большое, вроде понял сейчас попробую поэкспериментировать.

Офлайн

#5 Дек. 4, 2014 14:58:27

koksi1996
Зарегистрирован: 2014-12-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос новичка

Ребят,помогите(( нужно создать в питоне морской бой(кто может помочь?

Офлайн

#6 Дек. 4, 2014 15:29:40

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Вопрос новичка

Гы). Помню начал изучать питон когда, писал такое на Symbian, вот откопал свой тот код - функцию рандомного построения кораблей

# -*- coding: utf-8 -*-
from random import randint
def build():
    coll_taboo = set() # коллекция запрещенных координат.
    ships = [] # корабли.
    for level in 4, 3, 3, 2, 2, 2, 1, 1, 1, 1: # идем по кораблям.
        while True: # пока не удовлетворятся условия для корабля.
            vector = randint(0, 1) # 0- корабль строится вправо от начальной точки,
                #1 -вниз.
            x = randint(0, (9-level+1, 9)[vector]) #начальная коорд. х.
            y = randint(0, (9, 9-level+1)[vector]) #начальная коорд. х.
            ship = [] # корабль
            temp = set() #временная коллекция для запрещенн. координат.
            for i in xrange(level): #строим палубы.
                if i:
                    # если координата не стартовая, 
                    #изменяем координату x или y в зависимости от vector
                    if vector: y += 1
                    else: x += 1
                if (x, y) in coll_taboo: #если координаты присутствуют в коллекции запрещенных.
                    break # строим корабль заново.
                ship.append((x, y))
                for a in (-1, 0, 1):
                    for b in (-1, 0, 1):
                        # добавляем во временную коллекцию для запрещенн. координат
                        #координаты палубы и вокруг палубы.
                        temp.add((x + a, y + b))
            else: # если все удачно
                coll_taboo |= temp #добавляем содержимое временной коллекции в основную коллекцию.
                ships.append(ship) # доб. готовый корабль в список
                break #для while.
    return ships
print(build())
возвращает список со списками координат кораблей компьютера в начале игры.

Офлайн

#7 Дек. 4, 2014 17:54:47

GameStar
От: Новокузнецк
Зарегистрирован: 2014-12-04
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос новичка

Всем привет. Изучаю питон 3.4.1, интерпретатор - оффициальный, пользуюсь в основном айдлом чтобы видеть подсветку синтаксиса и иметь автоматические отступы, однако как раз с ними-то у меня и проблемы: в настройках айдла стоит число отступов - по умолчанию: 4, однако когда я начинаю выписывать вручную примеры листингов из самоучителя чтобы попрактиковаться и посмотреть эти примеры в действии - он выставляет их не так, как в книге. Объясните пожалуйста всю эту фигню с отступами, и самое главное - как их правильно настроить? чтобы было нагляднее, я решил оформить это дело не в виде кода, а в виде скриншота самого айдла:
.
А вот этот же код, но уже из книги:

x = 'SPAM'
if 'rubbery' in 'shrubbery':
print(x * 8)
x += 'NI'
if x.endswith('NI'):
x *= 2
print(x) # Выведет “SPAMNISPAMNI”

P.S. Не знаю, даст ли вам это что-то, но я учу его по книге Марк Лутц - Изучаем Python (4-е издание) - 2011.

Отредактировано GameStar (Дек. 4, 2014 18:05:04)

Офлайн

#8 Дек. 5, 2014 01:22:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Вопрос новичка

GameStar
Всем привет. Изучаю питон 3.4.1, интерпретатор - оффициальный
Установи линукс и в ней программируй, сразу все проблемы исчезнут.



Отредактировано py.user.next (Дек. 5, 2014 01:23:12)

Офлайн

#9 Дек. 5, 2014 05:49:59

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вопрос новичка

py.user.next
Установи линукс и в ней программируй, сразу все проблемы исчезнут.
ну что ж сразу так жестко то:)
GameStar
Для начала поймите что питон работает как бы в двух режимах - один это интерактивный, когда вы вводите строчку кода и интепретатор ее выполняет. Второй это когда интерпретатор считывает файл и выполняет код который считал. IDLE умеет и то и то, но вам нужно на первых порах пользоваться вторым режимом. Вводите в файле программный код и выполняете его интерпретатором. Как в четвертом издании не знаю. но в третьем там описано это было (Глава 3)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Дек. 5, 2014 09:33:40

GameStar
От: Новокузнецк
Зарегистрирован: 2014-12-04
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос новичка

JOHN_16
Вводите в файле программный код и выполняете его интерпретатором
то есть? я правильно понимаю, что в таком случае нужно писать код не в интерпретаторе, а в блокноте, и потом открывать его в айдле и там дальше с ним работать? или же имеется ввиду, что нужно в настройках IDLE выставить вместо “Open Shell Window” - "Open Edit Window"?
а интерактивный режим - ты имеешь ввиду тот консольный? мне бы хотя бы понять, как настроить и пользоваться отступами, а дальше - я бы сам как-нибудь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version