Проблема Учусь програмировать, помогите улучшить код.

S

sasha20l

Написал рандомизатор для принятия сложных решений.
Укажите на мои ошибки пожалуйста и как код сделать красивее и компактнее.
Спасибо.

Код:
'''
import random

print("~"*100)
print ('\033[91mДобро пожаловать в рандомизатор !!!\033[0m')
print ('\033[92mНапишите из чего будем рандомить, нажмите Enter.\033[0m')
print ('\033[92mНапишите end, для перехода к рандому\033[0m')
print("~"*100)

list = []
items = [1,2]
number_rand = 0
True_x = True
True_y = True
True_z = True
while True_x:
    True_y = True
    intup_rand = str(input("Введите позицию для рандома = "))
    if intup_rand == "end":
        True_x = False
    else:
        while True_y:
            print("Хотите в рандом добавить ",intup_rand," ?")
            print("'\033[92m1 - Да\033[0m'"," или ","'\033[91m2 - нет\033[0m'")
            intup_yes_no = str(input("Добавляем ? "))
            if intup_yes_no == "1" or "2":
                if intup_yes_no == "1":
                    print("Хорошо! мы добавили = ",intup_rand)
                    list.append(intup_rand)
                    True_y = False
                else:
                    print("Тогда ")
                    True_y = False
            else:
                print("'\033[92mПопробуйте еще\033[0m'")
print ("В рандом добавлены следующие позиции: ")
for x in list: print (x)
print("'\033[92m1 - отредактировать\033[0m'"," или ","'\033[91m2 - оставить все как есть\033[0m'")
while True_z:
            intup_yes_no = str(input("? = "))
            if intup_yes_no == "1" or "2":
                if intup_yes_no == "2":
                    print("Отлично !")
                    True_z = False
                else:
                    print("'\033[92m1 - добавить позицию\033[0m'"," или ","'\033[91m2 - удалить позицию\033[0m'")
                    intup_yes_no = str(input("? = "))
                    if intup_yes_no == "1" or "2":
                        if intup_yes_no == "1":
                            intup_rand = str(input("Введите позицию для рандома = "))
                            print("Хорошо! мы добавили = ",intup_rand)
                            list.append(intup_rand)
                            for x in list: print (x)
                            print("'\033[92m1 - отредактировать\033[0m'"," или ","'\033[91m2 - оставить все как есть\033[0m'")
                            True_y = False
                        elif intup_yes_no == "2":
                            len_inf = (len(list))-1
                            print("Какой элемент удалить, выберите: 0-",len_inf)
                            z = int(input("?= "))
                            list.pop(z)
                            for x in list: print (x)
                            print("'\033[92m1 - отредактировать\033[0m'"," или ","'\033[91m2 - оставить все как есть\033[0m'")
                            True_y = False
                    else:
                        print("'\033[92mПопробуйте еще\033[0m'")
                        print("'\033[92m1 - отредактировать\033[0m'"," или ","'\033[91m2 - оставить все как есть\033[0m'")
                        
            else:
                print("'\033[92mПопробуйте еще\033[0m'")

random = random.choice(list)
print ("'\033[92mПоздравляю!! Выбор пал на = \033[0m'",random)

И еще у меня почему-то рамдомизатор не воспринимает русский язык(((
Подскажите в чем может быть дело.
 

explorer

Platinum
05.08.2018
1 080
2 475
BIT
0
Мммм... а как цвета то здесь будут отображаться без доп.модулей??? Используй colorama

Какой-то рандомизатор непонятный у тебя, и к бесконечно одно и тоже спрашивает.
Вот, сегодня ночью как раз рандомизатор сделал -4 строки, с любыми символами работает )))


Python:
import random
s='Здесь пишется любой текст'
x =''.join(random.sample(s,len(s)))
print(x)
 
  • Нравится
Реакции: sasha20l
S

sasha20l

Мммм... а как цвета то здесь будут отображаться без доп.модулей??? Используй colorama

Какой-то рандомизатор непонятный у тебя, и к бесконечно одно и тоже спрашивает.
Вот, сегодня ночью как раз рандомизатор сделал -4 строки, с любыми символами работает )))


Python:
import random
s='Здесь пишется любой текст'
x =''.join(random.sample(s,len(s)))
print(x)

Если не ошибаюсь colorama нету в стандартных библиотеках.
Я только начинаю, вот поэтому такой кривой код. Может когда-нибудь и мне удастся писать в 4 строки.
 

explorer

Platinum
05.08.2018
1 080
2 475
BIT
0
Если не ошибаюсь colorama нету в стандартных библиотеках.
Я только начинаю, вот поэтому такой кривой код. Может когда-нибудь и мне удастся писать в 4 строки.

Научишься конечно, главное терпение.
Выложу специально для тебя код-памятку (для себя делал) как работать с цветами, с примерами, очень наглядно. Будет полезен всем, кто с цветами не работал.

color.png


Код:
# -*- coding:utf -8 -*-
import colorama
colorama.init()

class bcolors:
    G = '\033[92m'  # Light green
    GN = '\033[32m'  # green
    Y = '\033[93m'  # yellow
    B = '\033[94m'  # blue
    R = '\033[91m'  # red
    W = '\033[97m'  # white
    M = '\x1b[35m'  # magenta
    C = '\x1b[36m'  # cyan
    CF = '\x1b[5;30;46m'  # cyan Фоновый цвет
    LG = '\x1b[102m'  # Light Green  Фоновый цвет
    GF = '\033[42m'  # green Фоновый цвет
    LR = '\x1b[101m'  # Light Red  Фоновый цвет
    BF = '\x1b[40m'  # Black  Фоновый цвет
    BLF = '\033[104m'  # blue Фоновый цвет
    YF = '\033[103m'  # yellow Фоновый цвет
    WF = '\x1b[107m'  # white  Фоновый цвет
    GR = '\033[0m'  # grey
    BL = '\x1b[30m'  # Black
        

print(bcolors.GN + 'hello')
print(bcolors.Y + 'hello')
print(bcolors.B + 'hello')
print(bcolors.R + 'hello')
print(bcolors.W + 'hello')
print(bcolors.M + 'hello')
print(bcolors.C + 'hello')
print(bcolors.GR + 'hello')
print(bcolors.BL + bcolors.LG + 'hello')
print(bcolors.LR + 'hello')
print(bcolors.WF + bcolors.B + 'hello')
print(bcolors.CF + 'hello')
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!