计算机二级Python基本排序题-序号42(补充)

1. 请在屏幕上输出以下杨辉三角形:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1

a = []
for i in range(8) :
    a.append([])
    for j in range(8) :
        a[i].append(0)
for i in range(8) :
    a[i][0] = 1   #第一列全为1
    a[i][i] = 1   #斜边全为1
for i in range(2, 8) :
    for j in range(1, i) :
        a[i][j] = a[i - 1][j - 1] + a[i - 1][j]
for i in range(8) :
    for j in range(i + 1) :
        print("{:3d}".format(a[i][j]), end = " ")
print()

2. 社会平均工作时间是每天8小时(不区分工作日和休息日),一位计算机科学家接受记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1个小时成就值增加0.01%。计算并输出两个结果:这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。

输出格式示例如下:
5年后的成就值是XX
XX年后成就值是100

scale = 0.0001  # 成就值增量

def calv(base, day) :
    val = base * pow(1 + scale, day * 11)
    return val

    print('5年后的成就值是{}'.format(int(calv(1, 5 * 365))))

    year = 1
    while calv(1, year * 365) < 100:
year += 1

print('{}年后成就值是100'.format(year))

3. 让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。

ns = input("请输入一串数据:")
dnum, dchr = 0, 0
for i in ns :
if i.isnumeric() :   #统计数字
    dnum += 1
elif i.isalpha() :   #统计字母
    dchr += 1
else :
    pass
    print('数字个数:{},字母个数:{}'.format(dnum, dchr))

4. a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。

例如:键盘输入列表b为[1,2,3],因此,屏幕输出计算结果为[1,3,2,6,3,9]

a = [3, 6, 9]
b = eval(input()) #例如:[1, 2, 3]
j = 1
for i in range(len(a)) :
    b.insert(j, a[i])
    j += 2
    print(b)

5. 接收用户输入的数据,该数据仅由字母和中文混合构成,无其他类型字符,统计并输出中文字符出现的个数。

s = input("请输入中文和字母的组合: ")
count = 0
for c in s :
if '\u4e00' <= c <= '\u9fff' :
    count += 1
    print(count)

在Unicode中,中文字符的编码范围主要位于\u4e00到\u9fff之间。

6. time库是Python语言中与时间处理相关的标准库,time库中ctime)函数能够将一个表示时间的浮点数变成人类可以理解的时间格式

import time
print(time.ctime(1519181231.0))
输出结果是:Wed Feb 21 10:47:11 2018
请获得用户输入时间,提取并输出其中的小时信息。以上述时间为例,应输出10。

import time
t = input("请输入一个浮点数时间信息: ")
s = time.ctime(eval(t))
ls = s.split()
print(ls[3].split(':')[0])

7. 实现下面功能:以25为种子,随机生成1个1~100之间的整数,让用户来猜,用户最多只能猜6次。接收用户输入的数字,输入的数字和随机数相同时,则打印“恭喜你,猜对了!“,然后程序结束;若输入的数比随机数小,则打印“小了,请再试试",程序继续;若输入的数比随机数大,则打印“大了,请再试试",程序继续;若6次还没猜对,在评判大小后,输出“谢谢!请休息后再猜”,然后程序退出。

import random

random.seed(25)
n = random.randint(1,100)
for m in range(1,7):
    x = eval(input("请输入猜测数字:"))
    if x == n:
        print("恭喜你,猜对了!")
        break
    elif  x > n:
        print("大了,再试试")
    else:
        print("小了,再试试")
    if m == 6:
        print("谢谢!请休息后再猜")

8. 获得用户输入的5个小写英文字母,将小写字母变成大写字母,并逆序输出,字母之间用逗号分隔。

s = input("请输入5个小写字母:")
s = s.upper()
print(','.join(s[::-1]))

upper():将字符串中字母全部变为大写
lower():将字符串中字母全部变为小写
title():将字符串每个单词的首字母都变成大写
capitalize():将字符串第一个字母变成大写,其余字母变为小写

9. 以20为随机数种子,生成1~20之间的10个随机整数,将这些随机数分10行输出,第11行输出10个随机数的平均数,平均数保留一位小数。

import random
random.seed(20)
sum = 0
for i in range(10) :
    n = random.randint(1, 20)
    sum += n
    print("第{}个数:{}".format(i, n))
print("10个随机数的平均数是:{}".format(round(sum / 10, 1)))

10. 实现下面功能:获取一个由英文逗号、字母、汉字、数字字符组成的输入,计算该输入中所有数字的和,并输出。

myinput = input("请输入:")
ls = myinput.split(',')
s = 0
for c in ls:
    if c.strip(" ").isdigit():
       s += eval(c)
print("数字和是:" + str(s))

11. 按照小写字母a到z顺序组成包含26个字母的字符表,其中,第一个字符a序号为0,依次递增。程序获得用户输入的起始字母序号及连续输出字母的个数,分别记为变量h和w,以逗号隔开,并根据字符表输出从起始字母序号h开始的连续w个字母。

h,w = eval(input("请输入起始英文字母的序号和连续输出的个数,逗号隔开:"))
cstr = ''
for i in range(w):
    c = chr(ord('a') + h + i)
    cstr += c
print(cstr)

你可能感兴趣的:(计算机等级考试,python,网络,开发语言,计算机二级)