美文网首页
Learning Perl学习笔记(1)第二章Scalar Da

Learning Perl学习笔记(1)第二章Scalar Da

作者: 生信start_site | 来源:发表于2020-10-21 09:40 被阅读0次

    简单的记录了书里的小例子,以及章节后的练习题的脚本。

    If Control Structure(IF循环)

    脚本如下:

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $line = <STDIN>; #这里变量前必须加上my,不知道是不是版本的原因,书里没有加my;但是这里如果不加就会报错
    if ($line eq "\n") {
            print "That was just a blank line!\n";
    } else {
            print "That line of input was: $line";
    }
    
    $ ./practice.pl
    I am learning perl #这里输入字符I am learning perl,回车后会显示下面的返回结果
    That line of input was: I am learning perl
    
    $ ./practice.pl
                       #这里我直接打回车键,则会显示下面的结果
    That was just a blank line!
    

    While Control Structure(While语句)

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $count = 0;  
    while ($count < 10) {
            $count += 2; #这里实际上是$count = $count + 2
            print "count is now $count\n";
    }
    
    $ ./practice.pl
    count is now 2
    count is now 4
    count is now 6
    count is now 8
    count is now 10
    

    Learning perl 7th 第二章课后练习:

    (1)第一题:

    Write a program that computes the circumference of a circle with a radius of
    12.5. Circumference is 2π times the radius (approximately 2 times 3.141592654).The answer you get should be about 78.5.

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $radius = 12.5;
    my $circumference = 2 * 3.141592654 * $radius;
    print $circumference."\n";
    
    $ ./practice.pl
    78.53981635
    
    (2)第二题

    Modify the program from the previous exercise to prompt for and accept a
    radius from the person running the program. So, if the user enters 12.5 for the
    radius, she should get the same number as in the previous exercise.

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $radius = <STDIN>;
    my $circumference = 2 * 3.141592654 * $radius;
    print $circumference."\n";                      
    
    $ ./practice.pl
    12.5
    78.53981635
    
    (3)第三题

    Modify the program from the previous exercise so that, if the user enters a
    number less than zero, the reported circumference will be zero, rather than negative.

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $radius = <STDIN>;
    my $circumference = 2 * 3.141592654 * $radius;
    if ($radius >= 0 ) {
                    print "$circumference\n";
            } else {
                    print "0"."\n";
                    }
    
    $ ./practice.pl
    3
    18.849555924
    $ ./practice.pl
    0
    0
    $ ./practice.pl
    -4
    0
    
    (4)第四题

    Write a program that prompts for and reads two numbers (on separate lines
    of input) and prints out the product of the two numbers multiplied together.

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $number_one = <STDIN>;
    my $number_two = <STDIN>;
    my $multiplied_together = $number_one * $number_two;
    print $multiplied_together."\n";
    
    $ ./practice.pl
    4
    7
    28
    
    (5)第五题

    Write a program that prompts for and reads a string and a number (on separate
    lines of input) and prints out the string the number of times indicated by the
    number on separate lines. (Hint: use the x operator.) If the user enters “fred” and
    “3”, the output should be three lines, each saying “fred”. If the user enters “fred”
    and “299792,” there may be a lot of output.

    #!/usr/bin/perl
    use warnings;
    use strict;
    use v5.24;
    my $string_input = <STDIN>;
    my $times = <STDIN>;
    my $output_total = "$string_input" x $times;
    print $output_total;
    
    $ ./practice.pl
    yan
    3
    yan
    yan
    yan
    

    和书后的答案一对,虽然我运行的结果都没有错,但是比答案还是略逊了一点。因为答案里并不是仅仅输出的运行后的数字,还同时打出了“the result is:”这样的字符。嗯,还要继续努力~~

    相关文章

      网友评论

          本文标题:Learning Perl学习笔记(1)第二章Scalar Da

          本文链接:https://www.haomeiwen.com/subject/gaarmktx.html