Perl与Python编程实例解析

49、编写程序,让用户输入一个字符串和一个数字,将字符串重复指定的次数输出,要求字符串出现在不同行

以下是实现该功能的 Perl 代码示例:

print "请输入一个字符串: ";
chomp(my $string = <STDIN>);
print "请输入一个数字: ";
chomp(my $num = <STDIN>);
for (1..$num) { print "$string\n";}

以上代码首先提示用户输入一个字符串和一个数字,然后使用 for 循环将字符串重复指定的次数,并在每次循环中换行输出。

50、编写代码实现先询问用户需要的列宽,然后读取用户输入的多行文本,去掉换行符,打印合适长度的标尺行,最后将每行文本右对齐打印在指定宽度的列中

以下是一个Python代码示例来实现该功能:

# 询问用户需要的列宽
column_width = int(input("请输入需要的列宽: "))

# 读取用户输入的多行文本
print("请输入多行文本,输入空行结束输入:")
lines = []
while True:
    line = input()
    if not line:
        break
    lines.append(line)

# 去掉换行符
text = ''.join(lines)

# 打印合适长度的标尺行
ruler = ''.join([str(i % 10) for i in range(1, column_width + 1)])
print(ruler)

# 将每行文本右对齐打印在指定宽度的列中
for i in range(0, len(text), column_width):
    line = text[i:i + column_width]
    print(line.rjust(column_width))

这段代码首先让用户输入列宽,接着读取多行文本直到用户输入空行。然后去掉换行符,生成并打印标尺行,最后将文本按指定列宽右对齐打印。

51、编写代码实现根据用户输入的名字,从一个哈希中查找并输出对应的姓氏

#!/usr/bin/perl
use strict;
use warnings;

# 定义一个包含名字和姓氏的哈希
my %name_hash = (
    "John" => "Doe",
    "Jane" => "Smith",
    "Bob"  => "Johnson"
);

# 获取用户输入的名字
print "请输入名字: ";
chomp(my $input_name = <STDIN>);

# 检查哈希中是否存在该名字
if (exists $name_hash{$input_name}) {
    print "对应的姓氏是: $name_hash{$input_name}\n";
} else {
    print "未找到该名字对应的姓氏。\n";
}

这段代码首先定义了一个哈希 %name_hash ,其中包含了一些名字和对应的姓氏。然后,它会提示用户输入一个名字,并将用户输入的名字存储在变量 $input_name 中。接着,代码会检查哈希中是否存在该名字,如果存在,则输出对应的姓氏;如果不存在,则输出未找到的提示信息。

52、编写一个程序,统计用户输入的单词出现的次数并输出每个单词及其出现次数。

以下是一个使用 Python 实现的示例代码:

# 获取用户输入
input_text = input("请输入一段文本:")

# 将输入文本按空格分割成单词列表
words = input_text.split()

# 创建一个空字典用于存储每个单词及其出现次数
word_count = {}

# 遍历单词列表,统计每个单词的出现次数
for word in words:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1

# 输出每个单词及其出现次数
for word, count in word_count.items():
    print(f"{word}: {count}")

这段代码首先获取用户输入的文本,然后将其按空格分割成单词列表。接着,使用一个字典来统计每个单词的出现次数。最后,遍历字典并输出每个单词及其出现次数。

53、编写一个程序,找出环境变量哈希中键的最大长度,并按列输出所有环境变量的键和值。

以下是一个Perl程序示例来实现该功能:

#!/usr/bin/perl
use strict;
use warnings;

# 获取环境变量哈希
my %env = %ENV;

# 找出键的最大长度
my $max_length = 0;
foreach my $key (keys %env) {
    my $length = length($key);
    if ($length > $max_length) {
        $max_length = $length;
    }
}

# 按列输出所有环境变量的键和值
foreach my $key (sort keys %env) {
   
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值