[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66

    =(, ... Какой ты принципиальный.
    Code:
    def Dex(txt):
        fuck = {
            "1":"1",
            "2":"12",
            "3":"123",
            "4":"1234",
            "5":"12345",
            "6":"123456",
            "7":"1234567",
            "8":"12345678",
            "9":"123456789"
        }
        return fuck[txt]+fuck[txt][:-1][::-1]
    
    
    
    print Dex('6')
    #12345654321
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Если мне нужна пирамида, значение переменной которой является число 965, а потом 555, 332
    Во сколько строк обойдется твой код?)

    Рекурсия, да.
     
    1 person likes this.
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66

    Значение "если" ты не указал в своем посте)))
    К тому же тут показана работа со строкой, если же с числом то тут немного по другому.
     
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    "fkng'" guys давайте прекратим уже)) Все молодцы!
     
  5. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    492
    Likes Received:
    186
    Reputations:
    5
    Никаких лишних функций
    задавай любой диапазон
    работает рекурсия


    PHP:
    <?php
        
    function get($num)
         { 
            static 
    $step =1
                          
            if(
    $num 0)
             {
                echo 
    $step ++;
                
    $num --;
                
    get($num);
             }
             
            if(
    $num $step-)
             {
                echo --
    $step
                if(
    $step >1)
                  
    get($num);
             }      
         }
         
        
    get(7); 
    ?>
    :p :p :p :p :p :p
     
    3 people like this.
  6. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66

    Ты используешь if, это уже не честно. С использованием if я бы нарисовал другой пример.
     
  7. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php
    $length
    =1;
    $cut=1;
    $a=0;
    $BreakeSymbol ' ';
    for (
    $i=$_GET['from']; $i<$_GET['to']; $i++) {
    $text="$i";
    $result wordwrap($text$length$BreakeSymbol$cut);
    }        
    ?>
    Как сделать так, чтобы вытащить из массива $result все значения с четными ключами и нечетными?
     
  8. killrok6

    killrok6 New Member

    Joined:
    30 Jul 2010
    Messages:
    33
    Likes Received:
    3
    Reputations:
    0
    Подскажите где ошибка в запросе :

    Ругаеться на:
     
  9. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php
    $nomer 
    =  0;
    $chet 0;
    $nechet 0;
    $length=1;
    $cut=1;
    $a=0;
    $BreakeSymbol ' ';
    for (
    $i=$_GET['from']; $i<$_GET['to']; $i++) {
    $text="$i";
    $result wordwrap($text$length$BreakeSymbol$cut);
    foreach (
    $result as $key => $values) {
    if(
    $key == 0) {
    $chet $chet $value;
                      }    
    else {
    $nechet $nechet $value;
         }    
                                          }
    if (
    $chet == $nechet) {
    $Massiv[$nomer] = $i;
    echo 
    $Massiv[$nomer];
    $nomer++;
                          }
                                                  }                                              
    ?>          
    Выдает ошибку Warning: Invalid argument supplied for foreach() in D:\wamp\www\... on line 12. Из-за чего? Массив $result вроде заполнен...
     
  10. ~d0s~

    ~d0s~ Banned

    Joined:
    17 Apr 2010
    Messages:
    246
    Likes Received:
    257
    Reputations:
    154
    NeW
    wordwrap вовзращает строку а не массив
    killrok6
    Сам то подумай
     
  11. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    А каким образом можно $result превратить в массив?
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    NeW а с какой целью вы вообще wordwrap используете?
    PHP:
    $from intval($_GET['from']);
    $to intval($_GET['to']);
    $chet = array();
    $nechet = array();
    for (
    $i=$from$i<$to$i++) { 
      if (
    $i == 0$chet[] = $i;
      else 
    $nechet[] = $i;
    }
    Только мне кажется, что и массивы то заполнять вам не нужно, и правильнее будет использовать переменные по месту. Сформулируйте конечную цель ваших усилий
     
    _________________________
  13. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    С формы приходят два числа: от которого рассчитывается и до которого. Мне нужно сравнить сумму четных и нечетных цифр каждого числа отдельно, и если они равны - вывести на экран числа. Полный скрипт, пожалуйста, не выкладывайте, только идею, иначе неитересно :)
     
    #17633 NeW, 10 Feb 2011
    Last edited: 10 Feb 2011
  14. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    NeW почитайте что такое арифметическая прогрессия, ее свойства и поймите, что циклы вам не нужны
     
    _________________________
  15. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    Спасибо.
     
  16. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    Почитал я про арифметическую прогрессию, подумал и не могу понять, как связать ее с моей задачей. Как я понял арифметическая прогрессия - это последовательность чисел, с определенным шагом. Например 1,3,5,7,9. Шаг - 2. А каким образом связать это? Может вы не совсем поняли, что нужно сделать. Например: from = 1000, to = 10000. Нам нужно перебрать все числа, и в каждом числе сравнить сумму четных и нечетных цифр, если они равны, мы выводим число на экран.
     
  17. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Ты в школе учился?
    В хорошем смысле.
     
  18. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    Учучь :)
     
    #17638 NeW, 10 Feb 2011
    Last edited: 10 Feb 2011
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    New да, извините, немного зациклился и читал не то что написано. Для разбиения строки на массив используйте http://php.net/str_split Извращений с $i = "$i"; - не надо делать, php делает приведение типов сам и неявно
     
    _________________________
    1 person likes this.
  20. NeW

    NeW New Member

    Joined:
    9 Feb 2011
    Messages:
    50
    Likes Received:
    0
    Reputations:
    0
    Вот, теперь все работает. Спасибо ;)
     
Thread Status:
Not open for further replies.