美文网首页
全国计算机等级考试二级教程2019年版——Python语言程序设

全国计算机等级考试二级教程2019年版——Python语言程序设

作者: 木木雨呀 | 来源:发表于2019-07-28 15:12 被阅读0次

    第二章 Python语言基本语法元素

    一、选择题

    答案:C B B C A D B A D B

    二、程序题

    1.获得用户输入的一个整数N,计算并输出N的32次方。

    #输出n的32次方
    
    n = eval(input('Enter an integer:'))
    a = n
    i = 1
    while i < 32:
        a *= n
        i += 1
    print(a)
    

    2.获得用户输入的一段文字,将这段文字进行垂直输出。

    #垂直输出文字
    
    s = input('enter a sentence:')
    i = 0
    while i < len(s):
        print(s[i])
        i += 1
    

    3.获得用户输入的一个合法算式,例如1.2+3.4,输出运算结果。

    #计算输入的算式
    
    a =eval(input('Please enter an expression:'))
    print(a)
    

    4.获得用户输入的一个小数,提取并输出其整数部分。

    #输出小数的整数部分
    
    a = input('Enter a decimal:')
    i = 0
    while i < len(a):
        if a[i] == '.':
            print(a[0:i+1])
            break
        i += 1
    if i == len(a):
        print(a)
    

    5.获得用户输入的一个整数N,计算并输出1到N相加的和。

    #计算1到n的和
    
    n = eval(input('请输入n:'))
    sum = 0
    for i in range(n+1):
        sum += i 
    print(sum)
    

    第三章 数字类型

    一、选择题

    答案:C A A A B A C D A C

    二、程序题

    1.获得用户输入的一个整数,输出该整数百位及以上的数字。

    #输出百位以上数字
    
    a=eval(input('Enter a integer:')) 
    b=a//100
    print(b)
    

    2.获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来。

    #按空格分割句子,然后逐行打印
    
    a = input('输入句子:')
    b= a.split(' ')
    for i in b:
        print(i)
    

    3.程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。

    #根据数字输出星期
    
    day=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
    n = eval(input('输入数字:'))
    a = n % 7
    print(day[a])
    

    4.设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。

    #判断是否位回文
    
    a =input('输入一个数字:')
    l = len(a)
    b=''
    while l > 0:
        b += a[l-1]
        l -= 1
    if a == b:
        print('这是一个回文数字。')
    else:
        print('这不是一个回文数字。')
    

    5.输入一个十进制整数,分别输出其二进制、八进制、十六进制字符串。

    #根据输入数字,输出其二进制、八进制和十六进制形式
    
    a =eval(input('输入一个整数:')) 
    if type(a) == type(100):
        print('{0}经过转化:\n二进制形式为:{0:b}\n八进制形式为:{0:o}\n十六进制形式为:{0:X}.'.format(a))
    else:
        print('输入数字不是整数,请重新输入!')
    

    第四章 程序的控制结构

    一、选择题

    答案:B A D C D D C A C D

    二、程序题

    1.输入一个年份,输出是否是闰年。#闰年条件:能被4整除但不能被100整除,或者能被400整除的年份,都是闰年。

    2.最大公约数计算。获得两个整数,求出这两个整数的最大公约数和最小公倍数。最大公约数的计算一般使用辗转相除法,最小公倍数则使用两个数的乘积除以最大公约数。

    3.统计不同字符个数。用户从键盘键入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。

    4.改编题目1中的程序,当用户输入出错时给出“输入内容必须是整数!”的提示,并让用户重新输入。

    5.羊车门问题。有三扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门。在开启它之前,主持人会开启另外一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后能否增加猜中汽车的机会?——这是一个经典问题。请使用random库对这个随机事件进行预测,分别输出参赛者改变选择和坚持选择获胜的概率。

    第六章 组合数据类型

    一、选择题

    答案:B B B B A D D A D D

    Tips:
    2.字典类型的key只能是不可变数据类型;
    3.Python中以下情况判断为False:
    (1)None–>None值
    (2)False–>False值
    (3)0 ---> 数值零不管它是int,float还是complex类型
    (4)‘’,(),[] ---> 任何一个空的序列
    (5){} ---> 空的集合。
    9.列表类型的pop(i)方法,如果不指定参数 i,则默认取出并删除列表中最后一个元素

    二、程序题

    1.英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。

    #输出句子中的英文字母的词频
    
    sentence = input('输入句子:')
    sentence = sentence.lower()
    chrCounts = dict()
    for chr in sentence:
        if 97 <= ord(chr) <= 122:
            chrCounts[chr] = chrCounts.get(chr, 0) + 1
        else:
            continue
    lChrCounts = list(chrCounts.items())
    lChrCounts.sort(key=lambda x: x[1], reverse=True)
    for i in range(len(lChrCounts)):
        cha, count = lChrCounts[i]
        print('{:<10}{:>10}'.format(cha, count))
    

    2.中文字符频率统计。编写一个程序,对给定字符串中出现的全部字符(含中文字符)频率进行分析,采用降序方式输出。

    #输出句子中的所有字符的词频
    
    sentence = input('输入句子:')
    sentence = sentence.lower()
    chrCounts = dict()
    for chr in sentence:
        chrCounts[chr] = chrCounts.get(chr, 0) + 1
    lChrCounts = list(chrCounts.items())
    lChrCounts.sort(key=lambda x: x[1], reverse=True)
    for i in range(len(lChrCounts)):
        cha, count = lChrCounts[i]
        print('{:<10}{:>10}'.format(cha, count))
    

    3.随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

    #随机生成10个八位密码
    
    import string
    from random import *
    
    password = ''
    resource = string.ascii_letters + string.digits
    
    for i in range(10):
        password = ''
        for j in range(8):
            newChaIndex = randint(0,len(resource)-1)
            password += resource[newChaIndex]
        else:
            print(password)
    

    4.重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和输出测试结果的程序。

    #判断数组中是否有重复元素
    
    def isDuplicate(n):
        for i in range(len(n)-1):
            if n[i] == n[i + 1]:
                return True
            else:
                continue
        else:
            return False
    
    
    aList = input('输入一串列表值(用“,”分隔数字):')
    
    newList = aList.split(',')
    newList = aList.split(',')
    for i in range(len(newList)):
        newList[i] = eval(newList[i])
    newList.sort()
    
    print(isDuplicate(newList))
    

    5.重复元素判定续。利用集合的无重复性改编上一个程序,获得一个更快更简洁的版本。

    #利用集合来判定是否有重复元素
    
    def isDuplicate(n):
        s = set(n)
        if len(s) == len(n):
            return False
        else:
            return True
    
    
    newList = [1,2,3,1,534,'3523','popuo']
    print(isDuplicate(newList))
    

    相关文章

      网友评论

          本文标题:全国计算机等级考试二级教程2019年版——Python语言程序设

          本文链接:https://www.haomeiwen.com/subject/koxprctx.html