蓝桥等考Python组别十四级003

第一部分:选择题

1、Python L14 (15分)

运行下面程序,输出的结果是(    )。

d = {'A': 1, 'B': 2, 'C': 3, 'D': 4}

print(d['B'])

  1. 1
  2. 2
  3. 3
  4. 4

正确答案:B

2、Python L14 15分)

运行下面程序,输出的结果是(    )。

d = {'Chinese': 23, 'Japanese': 24, 'American': 25}

if 23 in d.values():

    print(d['American'])

  1. 25
  2. 24
  3. 23
  4. 不输出任何内容

正确答案:A

3、Python L14 (20分)

运行下面程序,输出的结果是(    )。

d = {1: 'X', 2: 'Y', 3: 'Z'}

for i in d.keys():

    print(i, end = ' ')

  1. 1: 'X', 2: 'Y', 3: 'Z'
  2. X Y Z
  3. 1 2 3
  4. (1, 'X') (2, 'Y') (3, 'Z')

正确答案:C

第二部分:编程题

4、Python L14 英语数字20分)

题目名称:英语数字

题目描述:

数字1~5的英语单词如下表所示:

输入一个1~5的正整数,输出对应的英语单词。

输入:

一个正整数n(1<=n<=5)。

输出:

一个字符串,为输入正整数所对应的英语单词,所有字母用小写。

输入样例:

2

输出样例:

two

参考程序:

dic = {1 : 'one', 2 : 'two', 3 : 'three', 4 : 'four', 5 : 'five'}

n = int(input())

print(dic[n])

测试数据:

1.in

2

1.out

two

2.in

1

2.out

one

3.in

5

3.out

five

4.in

3

4.out

three

5.in

4

5.out

four

5、Python L14 智能存钱罐30分)

题目名称:智能存钱罐

题目描述:

小蓝设计了一个智能存钱罐,可以通过内部的传感器,自动识别硬币的币值。还能计算存钱罐里硬币的余额,实时显示在外部的显示屏上。

假设硬币有3种,面值分别是1元、2元和5元。硬币通过传感器,会在系统中留下两个记录:

1.这枚硬币是“存入”还是“取出”,用一个大写字母A或B表示,A表示“存入”,B表示“取出”。

2.这枚硬币的币值是多少,用数字1,2,或5表示。

例如“A1”表示存入一个1元硬币,“B2”表示取出一个2元硬币。

存钱罐里的余额起初为0,根据硬币通过传感器的全部记录,请你帮小蓝实现计算余额的程序。

下面是一个例子:

一段时间内通过传感器的硬币记录是A1 A2 A5 B1 A2,对应的操作和存钱罐余额的变化如下表所示:

经过这番操作,存钱罐的余额为9元。

输入:

输入若干个字符串(每个字符串由一个大写字母A或B开头,后面是数字1,2或5,字符串的数量在1~100范围内),表示一段时间内通过传感器的硬币记录,相邻两个字符串用一个空格分隔。

数据保证取出时存钱罐内硬币数量足够。

提示:

s = input() #输入一个字符串,赋值给s

a = s.split(' ') #将字符串s按空格拆分,保存到列表a中

输出:

一个正整数,表示指定操作完成后,存钱罐当前的余额。

输入样例:

A1 A2 A5 B1 A2

输出样例:

9

参考程序1

s = input()

lis = s.split(' ')

dic = {'1' : 0, '2' : 0, '5' : 0} #字典保存三种硬币

for x in lis:

    if x[0] == 'A': #判断是存还是取

        dic[x[1]] += 1

    else:

        dic[x[1]] -= 1

ans = 0

for k, v in dic.items(): #剩余硬币的币值求和

    ans += int(k) * v

print(ans)

参考程序2

s = input()

lis = s.split(' ')

a = [0, 0, 0, 0, 0, 0] #列表a[i]表示面值是i的硬币的数量

for x in lis:

    if x[0] == 'A': #判断是存还是取

        a[int(x[1])] += 1

    else:

        a[int(x[1])] -= 1

ans = 0

for i in range(6):

    ans += i * a[i]

print(ans)

测试数据:

1.in

A1 A2 A5 B1 A2

1.out

9

2.in

A5 B5 A5 A1 B1

2.out

5

3.in

A2 A5 A1

3.out

8

4.in

A5 A1 A2 B1 B2 B5

4.out

0

5.in

A2 A5 A1 A2 A5 A1 A2 A5 A1 A2 B2 B5

5.out

19

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星卯教育tony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值