Python软件编程等级考试二级——20220319
实操
第一题
实现统计字符串中的单词和单词出现的次数:
要求如下:
(1)统计的语句为:to be or not to be that is a question
(2)要求统计该句中出现的所有单词和其出现次数。
(3)使用字典进行输出,格式如下(注意:排列顺序可以不一致,但是统计的次数要正确):
{‘to’: 2, ‘be’: 2, ‘or’: 1, ‘not’: 1, ‘is’: 1, ‘a’: 1, ‘question’: 1, ‘that’: 1}
答案:
方法一:
str1='to be or not to be that is a question'
list1=str1.split( ) #将字符串根据空格转成列表
#['to', 'be', 'or', 'not', 'to', 'be', 'that', 'is', 'a', 'question']
list2=[] #创建一个空列表 list2
for i in list1: #循环遍历 list1if i not in list2: #如果 list2列表中没有该元素就插入list2list2.append(i)
dict1={} #创建空字典
for j in list2: #遍历list2列表 dict1[j]=list1.count(j) #字典插入list2列表的每一项在原始list1列表中的个数
print(dict1) #最后打印字典
方法二:
#方法二:
str1='to be or not to be that is a question'
lis=str1.split()
dic={}
for i in lis:if i in dic.keys():dic[i]+=1else:dic[i]=1
print(dic)
第二题
可以对任何一个自然数进行若干次运算,最终都可以变为1。
运算规则如下:
(1)若该数是偶数,则变为原数的一半;
(2)若该数是奇数,则变为原数的3倍加1;
(3)重复(1)(2),直到该数变为1。
编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)
示例1:若输入自然数8,则输出结果为:3。
示例2:若输入自然数5,则输出结果为:5。
答案:
ci=0 #创建一个变量ci统计次数
num1=int(input('输入一个大于 1的自然数:')) #用户输入一个数字赋值到num1变量中
while num1!=1: #使用while循环 判断输入的num1是否不等于1 等于1跳出循环 不等于1进入循环if num1 %2==0: #判断num1变量是否为偶数 num1=num1/2#根据题目要求偶数要除以2else:num1=num1*3+1#根据题目要求奇数要乘3再加1ci+=1 #ci变量 次数加1
print(ci) #循环结束 打印次数ci变量
本人是培训机构的老师;如果还有更好的解答,请评论下面分享给我;大家相互学习
——骁林老师