回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试将Perl脚本转换为Python。以下是Perl代码:</p>
<pre><code>my %ScenarioTenorValues;
my @tenor_list =(12,24,36,48,60,84,120,180,240,300,360);
my $scen;
my $tenor;
for($scen = 1; $scen < 20; $scen += 1)
{
print "scen entered $scen \n";
foreach $tenor (@tenor_list)
{
print "tenor entered $tenor \n";
$ScenarioTenorValues{$scen}{$tenor} = 0;
print Dumper(\%ScenarioTenorValues);
}
}
</code></pre>
<p>输出如下所示:</p>
<pre><code>tenor: 240 $VAR1 = '11'; $VAR2 = { '240' => 0, '84' => 0, '120' => 0, '36' => 0, '12' => 0, '48' => 0, '360' => 0, '60' => 0, '180' => 0, '24' => 0, '300' => 0 };
</code></pre>
<p>我尝试将其转换为Python,如下所示:</p>
<pre><code>scenarioTenorValues = {}
tenor_list =[12,24,36,48,60,84,120,180,240,300,360]
scenario = None
tenor = None
for scenario in range(1,20):
print "scenario: ",scenario
for tenor in tenor_list:
print "tenor entered: ",tenor, "\n"
scenarioTenorValues[scenario] = { tenor : 0 }
print (scenarioTenorValues), "\n"
</code></pre>
<p>但是,Python脚本的输出与Perl脚本的输出不匹配:</p>
<pre><code>{1: {360: 0}, 2: {360: 0}, 3: {360: 0}, 4: {360: 0}, 5: {360: 0}, 6: {360: 0}, 7: {360: 0}, 8: {360: 0}, 9: {360: 0}, 10: {360: 0}, 11: {360: 0}, 12: {360: 0}, 13: {360: 0}, 14: {360: 0}, 15: {360: 0}, 16: {360: 0}, 17: {360: 0}, 18: {360: 0}, 19: {36: 0}}
</code></pre>
<p>为什么两个脚本的输出不匹配?你知道吗</p>