50、编写程序读取用户输入的多行文本,然后将每行文本右对齐输出,并打印一个辅助的标尺行
以下是一个使用Python实现的示例代码:
# 存储用户输入的文本行
lines = []
print("请输入多行文本,输入空行结束输入:")
while True:
line = input()
if not line:
break
lines.append(line)
# 找到最长行的长度
max_length = max(len(line) for line in lines)
# 打印标尺行
ruler = "".join(str(i % 10) for i in range(max_length))
print(ruler)
# 右对齐输出每行文本
for line in lines:
print(line.rjust(max_length))
这段代码首先读取用户输入的多行文本,直到用户输入空行。然后找到最长行的长度,根据该长度生成一个标尺行。最后,将每行文本右对齐输出。
51、编写一个程序,先让用户输入列宽度,然后让用户输入一些文本行,将这些文本行以用户指定的列宽度进行打印,并打印一个合适长度的标尺行。
以下是一个满足需求的Perl程序示例:
#!/usr/bin/perl
use warnings;
use strict;
# 提示用户输入列宽度
print "请输入列宽度: ";
chomp(my $width = <STDIN>);
# 提示用户输入文本行
print "请输入文本行(输入空行结束):\n";
my @lines;
while (my $line = <STDIN>) {
chomp($line);
last if $line eq '';
push @lines, $line;
}
# 打印标尺行
my $ruler = '';
for (my $i = 1; $i <= $width; $i++) {
$ruler .= ($i % 10 == 0) ? int($i / 10) : ' ';
}
print $ruler, "\n";
# 以指定列宽度打印文本行
foreach my $line (@lines) {
for (my $i = 0; $i < length($line); $i += $width) {
print substr($line, $i, $width), "\n";
}
}
这个程序首先提示用户输入列宽度,接着让用户输入文本行,输入空行时结束输入。然后程序会打印一个合适长度的标尺行,最后将用户输入的文本行按指定列宽度进行打印。
52、编写一个程序,使用哈希表存储一些人的名字和姓氏,让用户输入一个名字,然后输出该名字对应的全名。
以下是一个使用 Perl 语言实现的示例代码:
#!/usr/bin/perl
use strict;
use warnings;
# 创建一个哈希表存储名字和姓氏
my %name_map = (
'John' => 'Doe',
'Jane' => 'Smith',
'Tom' => 'Brown'
);
# 提示用户输入名字
print "请输入一个名字: ";
my $first_name = <STDIN>;
chomp($first_name);
# 检查输入的名字是否在哈希表中
if (exists $name_map{$first_name}) {
my $last_name = $name_map{$first_name};
my $full_name = "$first_name $last_name";
print "对应的全名是: $full_name\n";
}
else {
print "未找到该名字对应的信息。\n";
}
上述代码首先创建了一个哈希表 %name_map 来存储名字和姓氏的对应关系。然后提示用户输入一个名字,接着检查该名字是否存在于哈希表中。如果存在,则输出对应的全名;如果不存在,则提示未找到相关信息。
53、编写一个程序,找出环境变量哈希中键的最大长度,并按两列格式输出所有环境变量的键和值。
以下是一个Perl程序示例,用于找出环境变量哈希中键的最大长度,并按两列格式输出所有环境变量的键和值:
#!/usr/bin/perl
use strict;
use warnings;
# 获取环境变量哈希
my %env = %ENV;
# 初始化最大键长度为0
my $max_length = 0;
# 找出最大键长度
foreach my $key (keys %env) {
my $length = length($key);
$max_length = $length if $length > $max_length;
}
# 输出环境变量的键和值
foreach my $key (sort keys %env)

最低0.47元/天 解锁文章
277

被折叠的 条评论
为什么被折叠?



