The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Увидел свет язык программирования Nim 1.0, opennews (??), 24-Сен-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


64. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Аноним (64), 24-Сен-19, 12:37 
>Читать чужой код хоть стало возможно!

Сразу видно человека который не видел код на питоне.


def possibilities():
    alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)
    combinations=list()
    for n in range(9,-1,-1):
            for o in range(9,-1,-1):
                    for r in range(9,-1,-1):
                            for t in range(9,-1,-1):
                                    for h in range(9,-1,-1):
                                            for e in range(9,-1,-1):
                                                    for a in range(9,-1,-1):
                                                            for s in range(9,-1,-1):
                                                                    for u in range(9,-1,-1):
                                                                            for w in range(9,-1,-1):
                                                                                    for m in range(9,-1,-1):
                                                                                            for y in range(9,-1,-1):
                                                                                                    if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:
                                                                                                    north=10000*n + 1000*o +100*r +10*t +h
                                                                                                    east=1000*e +100*a +10*s +t
                                                                                                    south=10000*s + 1000*o +100*u +10*t +h
                                                                                                    west=1000*w + 100*e +10*s +t
                                                                                                    earth= 10000*e + 1000*a + 100*r +10*t +h
                                                                                                    if north +east +south +west == earth:
                                                                                                            combinations.append((north,east,south,west,earth))

    return combinations


Ответить | Правка | Наверх | Cообщить модератору

86. "Увидел свет язык программирования Nim 1.0"  +1 +/
Сообщение от Anonymoustus (ok), 24-Сен-19, 13:39 
Налажал ты с отступами, анон. Я пофиксил:


def possibilities():
    alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)
    combinations=list()
    for n in range(9,-1,-1):
        for o in range(9,-1,-1):
            for r in range(9,-1,-1):
                for t in range(9,-1,-1):
                    for h in range(9,-1,-1):
                        for e in range(9,-1,-1):
                            for a in range(9,-1,-1):
                                for s in range(9,-1,-1):
                                    for u in range(9,-1,-1):
                                        for w in range(9,-1,-1):
                                            for m in range(9,-1,-1):
                                                for y in range(9,-1,-1):
                                                    if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:
                                                        north=10000*n + 1000*o +100*r +10*t +h
                                                        east=1000*e +100*a +10*s +t
                                                        south=10000*s + 1000*o +100*u +10*t +h
                                                        west=1000*w + 100*e +10*s +t
                                                        earth= 10000*e + 1000*a + 100*r +10*t +h
                                                        if north +east +south +west == earth:
                                                            combinations.append((north,east,south,west,earth))
                                                            return combinations

Вот теперь всё работает!

Ответить | Правка | Наверх | Cообщить модератору

151. "Увидел свет язык программирования Nim 1.0"  +1 +/
Сообщение от Урри (?), 24-Сен-19, 18:50 
а вот если бы автор не поленился и скопировал еще пару строк кода (не входящих в тело цикла) - хрен бы ты пофиксил.

и это главная проблема отступов, потому как язык не должен существовать только внутри специально созданных для него редакторов.

Ответить | Правка | Наверх | Cообщить модератору

180. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Anonymoustus (ok), 24-Сен-19, 20:53 
> а вот если бы автор не поленился и скопировал еще пару строк
> кода (не входящих в тело цикла) - хрен бы ты пофиксил.

Если в коде нету других ошибок, кроме неправильных отступов, то пофиксить будет проще простого.

> и это главная проблема отступов, потому как язык не должен существовать только
> внутри специально созданных для него редакторов.

И это же одновременно его достоинство.

Ответить | Правка | Наверх | Cообщить модератору

208. "Увидел свет язык программирования Nim 1.0"  –2 +/
Сообщение от Евгенийemail (??), 25-Сен-19, 01:43 
> а вот если бы автор не поленился и скопировал еще пару строк
> кода (не входящих в тело цикла) - хрен бы ты пофиксил.
> и это главная проблема отступов, потому как язык не должен существовать только
> внутри специально созданных для него редакторов.

помойму сейчас мало кто разрабатывает без IDE - нет смысла перекладывать работу на внимательность которую может выполнить программа

Ответить | Правка | К родителю #151 | Наверх | Cообщить модератору

171. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Аноним84701 (ok), 24-Сен-19, 19:46 

                                                        if north +east +south +west == earth:
                                                            combinations.append((north,east,south,west,earth))
                                                            return combinations

> Вот теперь всё работает!

Что-то мне подсказывает, что задумка была возвращать все комбинации, а не только первую найденную.
А еще что-то подсказывает, что "alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)" вообще невалидный синтакс.
Ну и по мелочи:
"if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:" читается как "все переменные с разными значениями",
переменных 12, возможных значений 10 - хм, что тут может быть не так?

Изи фикс:


def possibilities(): return []

Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

181. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Anonymoustus (ok), 24-Сен-19, 21:11 
Я имел в виду отсутствие ошибок форматирования отступами.

Копипаста гуглится:

https://shitcode.net/280

А там указан первоисточник шедевра:

https://stackoverflow.com/questions/50018740/what-am-i-missi...

Под тегом data-science, между прочим. :)

Ответить | Правка | Наверх | Cообщить модератору

186. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Аноним84701 (ok), 24-Сен-19, 21:32 
> Я имел в виду отсутствие ошибок форматирования отступами.
> Копипаста гуглится:
> https://shitcode.net/280

Я скорее имел в виду, что сам пример, приведенный анонимом в #64, изначально не просто весь насквозь искусственный (и очень возможно был "вбросом" на SO), но еще и абсолютно не рабочий.
И смысл демонстрации [аноном в #64] на таких примерах какой-то очень сомнительный.
Тем более, когда при этом рядом топят за сишку с ее:


volatile const static signed long int* const restrict borsch = {(const volatile void*)0};

или

for (;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

или

??=include <stdio.h>                                                                    
%:include <stdint.h>                                                                    
                                                                                        
int hi(void) <% return 1337; }                                                          
                                                                                        
int main(void) <%                                                                        
    int foo[10:> = ??< 0 %> ;                                                            
    foo<:0] = 1337;                                                                      
    printf("hello %d %d", foo??(0??), hi());                                            
  return 0;                                                                              
??>

(хотя не совсем корректная аналогия получилось -- минимум 2 примера рабочие) :)
Ответить | Правка | Наверх | Cообщить модератору

192. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Anonymoustus (ok), 24-Сен-19, 21:51 
> Я скорее имел в виду, что сам пример, приведенный анонимом в #64,
> изначально не просто весь насквозь искусственный (и очень возможно был "вбросом"
> на SO), но еще и абсолютно не рабочий.
> И смысл демонстрации [аноном в #64] на таких примерах какой-то очень сомнительный.

Целиком и полностью согласен. Я даже у себя на локальной машине файл с этим кодом назвал govnokod.py, ещё не зная, откуда он взят, и дописал в конце print "OK", дабы был хоть какой-то полезный выхлоп.


> Тем более, когда при этом рядом топят за сишку с ее:

... поскипано

> (хотя не совсем корректная аналогия получилось -- минимум 2 примера рабочие) :)

И это подводит нас к весьма свежей и новаторской идее: примеры надо давать какие-то осмысленные, а не чтобы место чем-то заполнить. :)

Ответить | Правка | Наверх | Cообщить модератору

138. "Увидел свет язык программирования Nim 1.0"  +2 +/
Сообщение от Аноним84701 (ok), 24-Сен-19, 17:20 
Эт да! То ли дело скобки!

list* possibilities(void){
list* combinations=list();
    for (int n = 9; n> -1, n-=1) {
        for (int o = 9; o> -1, o-=1) {
            for (int r = 9; r> -1, r-=1) {
                for (int t = 9; t> -1, t-=1) {
                    for (int h = 9; h> -1, h-=1) {
                        for (int e = 9; e> -1, e-=1) {
                            for (int a = 9; a> -1, a-=1) {                      
                                for (int s = 9; s> -1, s-=1) {
                                    for (int u = 9; u> -1, u-=1) {                                    
                                        for (int w = 9; w> -1, w-=1) {
                                            for (int m = 9; m> -1, m-=1) {
                                                for (int y = 9; y> -1, y-=1) {
                                                    if (len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12) {
                                                        int north=10000*n + 1000*o +100*r +10*t +h;
                                                        int east=1000*e +100*a +10*s +t;
                                                        int south=10000*s + 1000*o +100*u +10*t +h;
                                                        int west=1000*w + 100*e +10*s +t;
                                                        int earth= 10000*e + 1000*a + 100*r +10*t +h;
                                                        if (north +east +south +west == earth){
                                                            combinations.append((north,east,south,west,earth))
                                                            return combinations;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }                                                            
    }
}
}

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

141. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от ggdotgff (?), 24-Сен-19, 18:14 
12 вложеннннных циклов трепещу ...  о вилукий прлвавагммваст
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

154. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Аноним (152), 24-Сен-19, 18:55 
А нефиг такой говнокод писать
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

182. "Увидел свет язык программирования Nim 1.0"  +/
Сообщение от Anonymoustus (ok), 24-Сен-19, 21:13 
ИЧСХ, анон притащил его из соответствующего места:

https://shitcode.net/280

Ответить | Правка | Наверх | Cообщить модератору

185. "зачем вложения?"  +1 +/
Сообщение от ADR (ok), 24-Сен-19, 21:29 

def possibilities():
    combinations = list()
    options = list(range(9, -1, -1))
    for n, o, r, t, h, e, a, s, u, w, m, y in product(*[options] * 12):
        if len({n, o, r, t, h, e, a, s, u, w, m, y}) == 12:
            north = 10000 * n + 1000 * o + 100 * r + 10 * t + h
            east = 1000 * e + 100 * a + 10 * s + t
            south = 10000 * s + 1000 * o + 100 * u + 10 * t + h
            west = 1000 * w + 100 * e + 10 * s + t
            earth = 10000 * e + 1000 * a + 100 * r + 10 * t + h
            if north + east + south + west == earth:
                combinations.append((north, east, south, west, earth))
                
    return combinations

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру