Найти - Пользователи
Полная версия: Вопрос новичка
Начало » Python для новичков » Вопрос новичка
1 2 3 4 5
ChazyChazZz
Вообщем я совсем недавно по своему желанию начал изучать 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. Вообщем помогите! Заранее спасибо!
terabayt
#-*- 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
terabayt
или так:
#-*- coding: utf-8 -*-
print("Калькулятор степеней v0.1   ")
while True:
    print(int(input("x - число, возводимое в степень\nx = "))**int(input("y - сама степень\ny = ")))
    if input("Если хочешь считать дальше введи 1 если нет введи любое другое число-  ") != '1': break
ChazyChazZz
terabayt
или так:
Спасибо большое, вроде понял сейчас попробую поэкспериментировать.
koksi1996
Ребят,помогите(( нужно создать в питоне морской бой(кто может помочь?
dimy44
Гы). Помню начал изучать питон когда, писал такое на 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())
возвращает список со списками координат кораблей компьютера в начале игры.
GameStar
Всем привет. Изучаю питон 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.
py.user.next
GameStar
Всем привет. Изучаю питон 3.4.1, интерпретатор - оффициальный
Установи линукс и в ней программируй, сразу все проблемы исчезнут.
JOHN_16
py.user.next
Установи линукс и в ней программируй, сразу все проблемы исчезнут.
ну что ж сразу так жестко то:)
GameStar
Для начала поймите что питон работает как бы в двух режимах - один это интерактивный, когда вы вводите строчку кода и интепретатор ее выполняет. Второй это когда интерпретатор считывает файл и выполняет код который считал. IDLE умеет и то и то, но вам нужно на первых порах пользоваться вторым режимом. Вводите в файле программный код и выполняете его интерпретатором. Как в четвертом издании не знаю. но в третьем там описано это было (Глава 3)
GameStar
JOHN_16
Вводите в файле программный код и выполняете его интерпретатором
то есть? я правильно понимаю, что в таком случае нужно писать код не в интерпретаторе, а в блокноте, и потом открывать его в айдле и там дальше с ним работать? или же имеется ввиду, что нужно в настройках IDLE выставить вместо “Open Shell Window” - "Open Edit Window"?
а интерактивный режим - ты имеешь ввиду тот консольный? мне бы хотя бы понять, как настроить и пользоваться отступами, а дальше - я бы сам как-нибудь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB