Chinaunix
标题:
用*号输出字母C的图案
[打印本页]
作者:
davie5201314
时间:
2016-03-27 21:38
标题:
用*号输出字母C的图案
题目:用*号输出字母C的图案,要求用python写出,求解
作者:
yjh777
时间:
2016-03-28 10:55
os.system 调用 figlet :)
作者:
rubyish
时间:
2016-03-29 00:08
本帖最后由 rubyish 于 2016-03-28 22:22 编辑
shishi perl ~
biru:
C4.gif
(17.09 KB, 下载次数: 75)
下载附件
2016-03-29 00:06 上传
perl abc.pl
abc.pl
#!/usr/bin/perl
sub printC {
my %setting = ( fg => '*', bg => ' ', size => 12, in => .3, eq => 1, @_ );
my ( $size, $in, $fg, $bg ) = @setting{qw/size in fg bg/};
my $R = ( $size - 4 ) / 3 / 2;
my ( $move, $that, $this ) = ( 1 / 3, $R );
my ( $R1, $R2, $R3 ) = ( $R - $in, $R + $in, $R + $move * 2 );
my $mov2 = $setting{eq} ? $move / 2 : $move;
$that -= $move for -1 .. $R / 2;
$this = -$that - $move;
for ( my $y = -$R3 ; $y <= $R3 ; $y += $move ) {
for ( my $x = -$R3 ; $x <= $R3 ; $x += $mov2 ) {
print $bg and next if $x > 0
and $y > 0 && $y < $that || $y < 0 && $y > $this;
my $r = sqrt( $x * $x + $y * $y );
print $R1 < $r && $r < $R2 ? $fg : $bg;
}
print "\n";
}
}
printC;
printC size => 16;
printC size => 16, in => .2;
printC bg => 'C', fg => ' ', in => .2;
printC size => 40, in => .16, bg => '#', fg => ' ';
printC size => 40, in => .6, bg => '#', fg => ' ';
printC fg => '# ', bg => '. ', in => .2;
printC fg => '# ', bg => '. ', in => .2, eq => 0;
printC fg => '#', bg => '.', in => .2, eq => 0;
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2