目录
1、创建一个文件words_file.txt,读取这个文件中的所有内容,讲内容中的英文字母按照一定的方式加密后,写入到一个新文件new_file.txt中。加密的方法是:将A变成B,B变成C,……,Y变成Z,Z变成A;a变成b,b变成b,……,y变成z,z变成a,其他字符不变。(上传源代码和程序运行截图)
2、设计一个Circle(圆)类,该类中包括属性radius(半径),还包括__init__()、get_perimeter()(求周长)和get_area()(求面积)共方法。设计完成后,创建Circle类的对象求周长和面积的功能。(上传源代码和程序运行截图)
3、已知字符串str= 'skdaskerkjsalkj',请统计该字符串中各字母出现的次数。(上传源代码和程序运行截图)
4、只能由1和它本身整除的整数被称为素数;请循环输出2-100之间的所有素数。(上传源代码和程序运行截图)
5、已知某公司有一批销售员工,其底薪为2000元,员工销售额与提成比例如下:
要求编写程序,通过输入员工的销售额,计算出其薪水总额并输出。(上传源代码和程序运行截图)
6、中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?编程解决以上问题。(上传源代码和程序运行截图)
7、编写程序,输出九九乘法表。(上传源代码和程序运行截图)
8、编写一个计算年份是否是闰年的程序。(上传源代码和程序运行截图)
9、编写一个能将百分制成绩转换为等级制成绩的程序。(上传源代码和程序运行截图)
10、求出所有的水仙花数。(上传源代码和程序运行截图)
11、给定一个文件 data.csv
12、编辑代码实现以下功能,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。(上传源代码和程序运行截图)
13、输入一个华氏温度,输出对应的摄氏温度。(上传源代码和程序运行截图)
14、给定一个元组,利用列表和元组的相互转换实现元组元素的更改,去除元组中的整型数据。打印更改后的元组。(上传源代码和程序运行截图)
15、求解一元二次方程 ax2+bx+c=0的根,系数a、b、c的值从输入获取。注意考虑以下几种情况。(上传源代码和程序运行截图)
16、阶乘是利用递归方式求解的经典问题,要求编写程序,定义一个求阶乘的递归函数。(上传源代码和程序运行截图)
17、定义一个类 Vector3d,使其包含 3 个私有数据成员 x、y、z,并能够在构造方法中,接收3个参数,对这3个私有数据成员进行初始化;类 Vector3d 拥有 3 个特殊方法,分别用来支持加法运算符、减法运算符,实现两个三维向量之间的加法和减法运算(例如向量(3,4,5)与向量(4,5,6)的和为向量(7,9,11),差为向量(-1,-1,-1)),以及支持内置函数print(),查看向量的值(例如输出各分量分别为3、4、5 的三维向量,会得到(3,4,5));(上传源代码和程序运行截图)
18、斐波那契数列又称兔子数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子引入。这个数 列中的数据满足以下公式: F(1)=1, F(2)=1, F(n)= F(n-1)+F(n-2) (n>=3,n∈N*) 。编写程序,利用递归实现根据用户输入的数字输出斐波那契数列的功能。(上传源代码和程序运行截图)
19、编写一个根据三条边长判断三角形类型的函数。
20、根据提示,接收用户输入的字符串(判断是否是回文数)。
21、【问题描述】输入一个3位正整数,将它逆序输出。假设输入的3位整数是938,则输出839.(上传源代码和程序运行截图)
22、计算圆周长和圆面积 V2.0 (上传源代码和程序运行截图)
23、停车费 (上传源代码和程序运行截图)
24、判断一个3位数是否是水仙花数。(上传源代码和程序运行截图)
25、录取研究生 (上传源代码和程序运行截图)
26、骑车还是走路 (上传源代码和程序运行截图)
27、猴子吃桃问题 (上传源代码和程序运行截图)
28、判断该字符是字母字符、数字字符还是其他字符 (上传源代码和程序运行截图)
29、一年中第几天(上传源代码和程序运行截图)
30、奇数列表 (上传源代码和程序运行截图)
31、找因子 (上传源代码和程序运行截图)
32、ISBN校验码判断 (上传源代码和程序运行截图)
33、找不同 (上传源代码和程序运行截图)
34、用人名查电话 (上传源代码和程序运行截图)
35、字母计数 (上传源代码和程序运行截图)
source_file = open(r'C:\Users\86182\Desktop\words_file.txt','r',encoding="utf-8")
new_file = open(r'C:\Users\86182\Desktop\new_file.txt','w+',encoding="utf-8")
content = source_file.read(1)
while content:
if content == 'Z':
content = 'A'
elif content == 'z':
content = 'a'
elif (ord(content) in range(65,90))or(ord(content) in range(97,122)):
content = chr(ord(content)+1)
new_file.write(content)
content = source_file.read(1)
source_file.close()
new_file.close()
class Circle:
radius = 1
def __init__(self,r):
self.radius = r
def get_perimeter(self):
perimeter = 2*3.14*self.radius
return perimeter
def get_area(self):
areas = 3.14*self.radius*self.radius
return areas
circle = Circle(4)
per = circle.get_perimeter()
area = circle.get_area()
print(f"perimeter={per}")
print(f"area={area}")
str = 'skdaskerkjsalkj'
count = {} #字典{键:值}
for i in str:
if i in count.keys():
count[i] += 1
else:
count[i] = 1 #i为键,1为初始值
print(count)
i = 2 #使用变量前必须先赋值
for i in range(2,100):
j = 2
for j in range (2,i):
if(i%j==0):
break
else:
print(i,end=" ") #每输出一次空一格
(1)当销售额<=3000时,没有提成;
(2)当3000<销售额<=7000时,提成10%;
(3)当7000<销售额<=10000时,提成15%;
(4)当销售额>10000时,提成20%。
money = 2000
price = int(input("请输入销售额:"))
if 0 <= price <= 3000:
pass
elif 3000 < price <= 7000:
money += price * 0.1
elif 7000 < price <= 10000:
money += price * 0.15
elif price > 10000:
money += price * 0.2
else:
print("输入错误!")
print(f"薪水总额:{money}")
coke,hen,chicken = 0,0,0
for coke in range(21): #公鸡最多20只(五钱一只)
for hen in range(34): #母鸡最多33只(三钱一只)
chicken = 100 - coke - hen #剩余的只数是小鸡只数
if 5*coke + 3*hen + chicken/3 == 100:
print(f"coke={coke},hen={hen},chicken={chicken}")
#hen+=1 #为啥这两个要+=1,加不加输出都一样
#chicken+=1
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={i*j}",end="\t")
print()
编程要求 计算年份是否是闰年,如果是闰年输出True 否则输出False。
测试说明
测试输入:4981 预期输出: False
测试输入:2020 预期输出: True
year = int(input())
if(year % 400 == 0)or(year % 4 == 0 and year % 100 != 0):
print("True")
else:
print("False")
编程要求 根据提示,在右侧编辑器补充代码,将百分制成绩转换为等级制成绩。
(90<=score<=100:A); (80<=socre<90:B); (70<=socre<80:C); (60<=socre<70:D); (score<60:E)
测试说明
测试输入:90.5; 预期输出:A
测试输入:82; 预期输出:B
score = float(input())
if 90<=score<=100:
print("A")
elif 80<=score<90:
print("B")
elif 70<=score<80:
print("C")
elif 60<=score<70:
print("D")
elif 0<=score<60:
print("E")
else:
print("成绩输入错误!")
提示:所谓水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。比如153是一个水仙花数,因为153=1^3+5^3+3^3。
例如:370就是一个水仙花数,因为370 = 3^3 +7^3 + 0^3
测试说明
输入: 输出:153 370 371 407
for i in range(100,1000):
#不是用//整除的话,需要int()转换,否则是float浮点型
a = i // 100 #百位
b = i % 100 // 10 #十位
c = i % 10 #个位
if pow(a,3) + pow(b,3) + pow(c,3) == i: #pow(num,幂)
print(i,end=" ")
请读取文件,获取文件中的数字内容。
预期输出: 文件中的数字内容为:57.3(上传源代码和程序运行截图)
# 请使用 open 函数读取文件中的指定内容
f = open(r"C:\Users\86182\Desktop\data.csv","r")
result = f.readlines()[-1]
print("文件中的数字内容为:%s"%result.split(":")[-1].strip())
f.close()
提示:需要导入random库中的randint函数。
import random
count = {} #用字典{num:count}记录频率
number = [] #统计五十个数,测试用
for i in range(50):
num = random.randint(1,21)
number.append(num) #统计五十个数,测试用
if num in count:
count[num] += 1
else:
count[num] = 1 #第一次出现,记录进字典,count=1
print(number,end=" ") #输出五十个数,测试用
print() #换行
print(count,end=" ")
华氏度与摄氏度转换公式: C=(F−32)∗5/9 程序会从测试用例获取F的输入值,请根据公式计算出正确的C并正确输出。(按公式根据f计算摄氏度,四舍五入保留3位小数,要求使用round函数)
测试用例: 95.2345 输出结果: 摄氏度:35.13
要求输出结果严格按照以上格式,输出字符串中符号均为英文符号,所有数字均四舍五入保留两位小数!
F = float(input()) #转换为float浮点数
C = round(((F-32) * 5/9),3) #round函数四舍五入保留3位,默认四舍五入为整数
print(f"摄氏度:{C}")
tup =
(1,"3",4,5,"4","a",(1,2,3,4),"b","c",6,17,"d",("a","b","c"),0,"e","f",True,10,"False",11,"h","A","B","C",30,"D",-35,-60,(-1,-2,-5))
tup =(1,"3",4,5,"4","a",(1,2,3,4),"b","c",6,17,"d",("a","b","c"),0,"e","f",
True,10,"False",11,"h","A","B","C",30,"D",-35,-60,(-1,-2,-5))
lists = list(tup)
#遍历新转换的列表的话,好像不能删除完——不知道为什么
#可能因为列表有序,边删除边向下一个数迭代遍历,导致跳过了某些数,实验证明了好像确实是这样
for i in tup: #遍历的是原元组!!
if type(i) == int:
lists.remove(i) #因为元组不可更改,故从列表中删除该元素
print(tuple(lists)) #转换为元组输出
#第1步:使用input获取三个系数值,分别赋值给a、b、c
from math import sqrt
a = int(input())
b = int(input())
c = int(input())
#第2步:求解一元二次方程,并打印结果x的值
tmp=b**2-4*a*c
if a==0 and b!=0:
x=-c/b
print(x)
elif a!=0 and tmp>0:
x1=(sqrt(tmp)-b)/(2*a)
x2=(-b-sqrt(tmp))/(2*a)
print("x1为%f,x2为%f"% (x1,x2))
elif a!=0 and tmp==0:
x=-b/(2*a)
print(x)
else:
print('无解')
#要求递归函数!
def factorial(num):
if num == 1:
return 1
else:
return factorial(num-1) * num
print(factorial(5)) #调用函数,随意传一个数字进去
class Vector3d:
def __init__(self, x, y, z):
self.__x = x
self.__y = y
self.__z = z
def length(self):
return (self.__x**2 + self.__y**2 + self.__z**2) ** 0.5
def __str__(self):
return "("+str(self.__x)+", "+str(self.__y)+", "+str(self.__z)+")"
def __add__(self, v):
x=self.__x+v._Vector3d__x
y=self.__y+v._Vector3d__y
z=self.__z+v._Vector3d__z
return Vector3d(x,y,z)
def __sub__(self, v):
x=self.__x-v._Vector3d__x
y=self.__y-v._Vector3d__y
z=self.__z-v._Vector3d__z
return Vector3d(x,y,z)
v1 = Vector3d(3, 4, 5)
v2 = Vector3d(4, 5, 6)
print(v1 + v2)
print(v1 - v2)
print(v1)
class Vector3d:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
class Vector3d:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
class Vector3d:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
def __add__(self, other):
return Vector3d(self.x + other.x, self.y + other.y, self.z + other.z)
def __sub__(self, other):
return Vector3d(self.x - other.x, self.y - other.y, self.z - other.z)
def __str__(self):
return "({}, {}, {})".format(self.x, self.y, self.z)
v1 = Vector3d(3, 4, 5)
v2 = Vector3d(4, 5, 6)
print(v1 + v2)
print(v1 - v2)
print(v1)
#递归实现
def fib(num):
if num == 1 or num == 2:
return 1
else:
return fib(num-1)+fib(num-2)
number = int(input("请输入一个正整数:")) #输入数字测试
result = fib(number)
print(f"第{number}个斐波那契数为{result}")
若不能构成三角形,返回0;若构成等边三角形,返回1;
若构成等腰三角形,返回2;若构成直角三角形,返回3;
若是其他三角形,返回4。
在主程序中,根据函数的返回值,显示对应的三角形类型。
测试输入:3,3,3; 预期输出:等边三角形
测试输入:1,2,3; 预期输出:不能构成三角形
测试输入:3,4,5; 预期输出:直角三角形
(上传源代码和程序运行截图)
def sjx(a, b, c):
if a < b + c and b < a + c and c < a + b:
if a == b == c:
lx = 1
elif a == b or a == c or b == c:
lx = 2
elif a * a + b * b == c * c or a * a + c * c == b * b or b * b + c * c == a * a:
lx = 3
else:
lx = 4
else:
lx = 0
return lx
# 主函数
x = eval(input())
y = eval(input())
z = eval(input())
m = sjx(x, y, z)
if m==0:
print("不能构成三角形")
elif m==1:
print("等边三角形")
elif m==2:
print("等腰三角形")
elif m==3:
print("直角三角形")
else:
print("其他三角形")
若字符串不是数字字符串,提示不是数字;若字符串x是回文数,显示x是回文数;若字符串x不是回文数,显示x不是回文数。(上传源代码和程序运行截图)
测试输入:请输入字符串12321; 预期输出:12321是回文数
测试输入:请输入字符串12345; 预期输出:12345不是回文数
测试输入:请输入字符串12a; 预期输出:不是数字
num = input("请输入字符串")
if str.isnumeric(num): #判断输入的字符串是否为数字,是则继续执行
if num[::-1] == num:
print(f"{num}是回文数")
else:
print(f"{num}不是回文数")
else:
print("不是数字")
【样例输入】938 【样例输出】839
【样例输入】120 【样例输出】21
num = int(input())
#不是用//整除的话,需要int()转换,否则是float浮点型
a = num // 100 #百位
b = num % 100 // 10 #十位
c = num % 10 #个位
number = a + b * 10 + c * 100
print(number)
a=input()
if a[-1]=='0': #个位为0
b=a[:-1]
print(b[::-1]) #逆序
else :
print(a[::-1])
【问题描述】输入圆的半径r,计算圆周长和圆面积,保留2位小数
【输入形式】Please enter radium:
【输出形式】
【样例输入输出】
Please enter radium:10
Circumference is 62.83
Round area is 314.16
import math #导入math模块
r = float(input("Please enter radium:"))
p = math.pi #圆周率
c = 2 * p * r
s = p * (r ** 2)
print("Circumference is {:.2f}".format(c))
print("Round area is {:.2f}".format(s))
【问题描述】进入停车场开始计费。停车时间小于0.5小时不收费;每小时收费5元;不足1小时按1小时收费;最多收费50元也就是10小时以上都是50元。
【输入形式】输入停车时间 【输出形式】0或者50或者25
【样例输入】time:4.1 【样例输出】25
import math
time = eval(input("time:")) #eval():去掉字符串最外层的双引号,获得里面字符的数据类型
if time < 0.5:
money = 0
elif 0.5 < time <= 10:
money = math.ceil(time) * 5 #math.ceil() “向上取整”, 即小数部分直接舍去,并向正数部分进1
elif time > 10:
money = 50
else:
print("输入错误")
print(money)
【问题描述】输入一个三位正整数abc,如果满足a^3+b^3+c^3=abc,则该数是水仙花数。例如123不等于1+8+27所以123不是水仙花数。
【输入形式】输入一个三位正整数
【输出形式】false或者true或者error
【样例输入】please input a three-digit number: 123
【样例输出】false
【样例说明】
样例输入中的下划线表示具体输入的数字;需要增加范围检测,当你输入的不是三位数时,输出error。注意次方运算符的写法不是问题描述中的方法。
num = int(input("please input a three-digit number: "))
if 100 <= num <= 999:
a = num // 100 # 百位
b = num % 100 / 10 # 十位
c = num % 10
if(pow(a,3)+pow(b,3)+pow(c,3) == num): #用**n也可以(n次方)
print("true")
else:
print("false")
else:
print("error")
【问题描述】某高校录取研究生的要求是,每门课成绩不低于60分,总成绩不低于340分,370分以下为自费。编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(没有录取“not”、自费“pay”、公费“free”三种情况)。
【输入形式】
输入四门课的成绩,成绩均为0~150之间的整数。输入4门课成绩的时候可以结合eval()和input()函数一次性输入4个值,输入数字时用逗号分隔
【输出形式】not或者pay或者free
【样例输入】four scores:55,120,110,120
【样例输出】not
a,b,c,d = eval(input("four scores:"))
sum = a+b+c+d
#不低于,也可以先写 a<60,然后在else里写录取情况
if a>=60 and b>=60 and c>=60 and d>=60 and sum >= 340:
if sum < 370:
print("pay")
else:
print("free")
else:
print("not")
【问题描述】在华农校园里,没有自行车,上课办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为30秒;停车锁车的时间为20秒;步行每秒行走2米,骑车每秒行走4米。请判断走不同的距离去办事,是骑车快还是走路快。
若一次办事要行走的距离为整数,单位为米。对输入的整数,如果骑车快,输出一行“Bike”;如果走路快,输出一行“Walk”;如果一样快,输出一行“All”。
【输入形式】输入一个正整数
【输出形式】Bike或者Walk或者All
【样例输入】Please input a number of distance:40
【样例输出】Walk
【样例输入】Please input a number of distance:200
【样例输出】All
dis = int(input("Please input a number of distance:"))
a = 50 + dis/4 # 骑车
b = dis/2 # 步行
if a > b:
print("Walk")
elif b < a:
print("Bike")
else:
print("All")
【问题描述】猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第n天吃以前发现只剩下一个桃子,编写程序实现:据输入的天数计算并输出猴子共摘了几个桃子
【输入形式】输入的一行为一个非负整数,表示一共吃的天数。
【输出形式】输出的一行为一个非负整数,表示共摘了几个桃子,若输入的数据不合法(如:负数或小数),则输出"illegal data"。
【样例输入】3 【样例输出】10
【样例输入2】0 【样例输出2】0
day = eval(input())
a = 1 #最后一天只剩一个桃子
if day != int(day) or day < 0:
print("illegal data")
elif day == 0:
print(0)
else:
for i in range(1,day): #递推,从第n天往前累加
a = 2*(a+1)
print(a)
【问题描述】已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。
【输入形式】只输入一个字符
【输出形式】alphabet character或者digital character或者others character
【样例输入】please input a char:c
【样例输出】alphabet character
ch = input("please input a char:")
if ch.isalpha():
print("alphabet character")
elif ch.isdigit():
print("digital character")
else:
print("others character")
ch = input("please input a char:")
if 'a'<=ch<='z':
print("alphabet character")
elif '0'<=ch<='9': #字符串
print("digital character")
else:
print("others character")
【问题描述】输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天。特殊情况:闰年且输入月份大于3时需考虑多加一天。
提示:(1) 闰年的2月有29天,平年的2月有28天;
(2) 如果年份满足以下两个条件之一,则该年就是闰年。
i) 年份能被4整除且不能被100整除
ii) 年份能被400整除
【输入形式】
输入一行,一行三个整数,用空格隔开,分别代表年月日。如2012 2 7
代表2012年2月7日。注意,不要输入任何汉字。
【输出形式】输出只有一个数字,即所对应的日期是该年的第几天。
【样例输入】2012 1 1
【样例输出】1
a,b,c=input().split() # split()函数的使用方法见第4讲课件
a=int(a)
b=int(b)
c=int(c)
if (a%4==0 and a%100!=0) or a%400==0:
feb=29
else:
feb=28
w=0
for m in range(1,b):
if m==1 or m==3 or m==5 or m==7 or m==8 or m==10 or m==12:
w=w+31
elif m==4 or m==6 or m==9 or m==11:
w=w+30
elif m==2:
w=w+feb
print(w+c)
year, month, day = map(int, input().split())
# 定义一个列表,存放每个月份的天数
days_per_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 判断是否为闰年,并修改二月的天数
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
days_per_month[1] = 29
# 对前几个月的天数求和
day_of_year = sum(days_per_month[:month-1])
# 加上当月的天数
day_of_year += day
print(day_of_year)
【问题描述】
输入一个小于100并且大于1的正整数,生成由小于该整数的奇数构成的递增列表C,并输出列表C;
【输入形式】
输入一个小于100并且大于1的正整数;
【输出形式】
输出一个列表,包含所有小于该正整数的所有奇数;
【样例输入】
Please input an integer which is between 2 and 99:15
【样例输出】
[1, 3, 5, 7, 9, 11, 13]
num = int(input("Please input an integer which is between 2 and 99:"))
a=[]
for i in range(1,num+1):
if i % 2 == 1 and i
【问题描述】
输入一个大于1的整数,返回一个列表,包含所有能够整除该整数的因子(不包含1和它本身),并且从小到大排序。如果这个数是素数,则输出“(整数) is prime”。
【样例输入】number:6 【样例输出】[2, 3]
【样例输入】number:5 【样例输出】5 is prime
num = int(input("number:"))
b = []
flag = True
for i in range(2,num):
if num % i == 0:
b.append(i)
flag = False
if flag:
print(f"{num} is prime")
else:
print(sorted(b))
【问题描述】
每一本正式出版的图书都有一个ISBN号码与之对应。自2007年开始,ISBN码包括13位数字和4位分隔符,其中符号'-'就是分隔符(键盘上的减号),13位书号的最后一位数字为稽核号,数值范围由0至9,其计算方法如下:
(1) 用1分别乘书号的前12位数字中的奇数位,用3乘以偶数位;(去掉分隔符-后的位数,第一个数字是第1位,从奇数位开始。)
(2)将各乘积相加,求出总和;
(3)将总和除以10,得出余数;
(4)将10减去余数后即为稽核号。如相减后的数值为10,稽核号则为0。
【输入形式】 一个字符串,代表一本书的ISBN号码
【输出形式】
假如输入的ISBN号码的识别码正确,那么输出“Right”;否则,按照规定的格式,输出正确的ISBN号码(包括分隔符'-')。
【样例输入】978-7-121-28484-3 【样例输出】978-7-121-28484-7
a=input()
b=a.replace('-','')
s=0
for i in range(1,13):
if i%2==1:
s=s+int(b[i-1])
elif i%2==0:
s=s+3*int(b[i-1])
n=10-s%10
if n==10:
n=0
if str(n)==b[-1]:
print('Right')
else:
print(a[0:16]+str(n))
【问题描述】
9个同学一起做游戏,每个人报一个[1,20]区间上的正整数,请你编程求出有多少个不同的数。
【输入形式】输入1行,输入9个[1,20]区间上的整数,每个整数之间以空格为分隔符
【输出形式】输出1个数,表示输入的9个数中不同数的个数。
【样例输入】1 2 3 3 2 2 7 8 9
【样例输出】6
【样例说明】可以使用字符串的split()方法将一个字符串按照指定字符切割成字符列表
a = input().split()
b = set(a) # 集合的元素不可重复
print(len(b)) # 输出长度
【问题描述】
定义一个电话簿,里头设置以下联系人:
'mayun':'13309283335',
'zhaolong':'18989227822',
'zhangmin':'13382398921',
'Gorge':'19833824743',
'Jordan':'18807317878',
'Curry':'15093488129',
'Wade':'19282937665'
现在输入人名,查询他的号码。
【输入形式】人名,是一个字符串。
【输出形式】电话号码。如果该人不存在,返回"not found"
【样例输入】mayun
【样例输出】13309283335
phone = {'mayun':'13309283335',
'zhaolong':'18989227822',
'zhangmin':'13382398921',
'Gorge':'19833824743',
'Jordan':'18807317878',
'Curry':'15093488129',
'Wade':'19282937665'}
name = input()
flag = True
if name in phone.keys():
print(phone[name])
flag = False
if flag:
print("not found")
【问题描述】
输入字符串,输出字符串中出现次数最多的字母及其出现次数。如果有多个字母出现次数一样,则按字符从小到大顺序输出字母及其出现次数。
【输入形式】一个字符串。
【输出形式】出现次数最多的字母及其出现次数
【样例输入】abcccd
【样例输出】c 3
s=input()
dic={}
dic1={}
for i in s:
if i in dic:
dic[i]+=1
else:
dic[i]=1
max1=max(dic.values())
for key in dic:
if dic[key]==max1:
dic1[key]=dic[key]
for i,j in dic1.items():
print("%s %d"%(i,j))
a=input()
mydict={}
for ch in a:
if ch in mydict:
mydict[ch]=mydict[ch]+1
else:
mydict[ch]=1
mylist=list(mydict.items())
mylist.sort(key=lambda x:x[1],reverse=True)
z=mylist[0]
v=z[1]
for i in mydict:
if mydict[i]==v:
print(i,mydict[i])
36、字母计数(2)(上传源代码和程序运行截图)
【问题描述】
输入字符串,输出字符串中出现次数最多的字母及其出现次数。如果有多个字母出现次数一样,则按字符从小到大顺序输出字母及其出现次数。
【输入形式】一个字符串。
【输出形式】出现次数最多的字母及其出现次数,如果没有字母,输出 no alpha
【样例输入】555522222abcccdaa
【样例输出】
a 3
c 3
【样例输入】
453434
【样例输出】
no alpha
a = input()
# 创建集合b
b = set(a)
c = {}
#将集合进行循环,保留字母字符,并统计对应字母字符个数存入字典中
for i in b:
if i.isalpha():
c[i] = a.count(i)
# 判断字典是否为空,即不存在字母字符时输出“no alpha”
if c == {}:
print("no alpha")
# 不为空的情况则统计字典中最大的values
else:
max1 = max(c.values())
# items()函数以列表返回可遍历的(键,值)元组数组
data = list(c.items())
# 将元组进行排序
data.sort()
# 循环判断元组values是否等于最大值,满足则输出对应字母字符及出现次数
for i in data:
if i[1] == max1:
print(i[0],i[1])
n=input()
mydict={}
for ch in n:
if ch.isalpha():
flag=True
if ch in mydict:
mydict[ch]=mydict[ch]+1
else:
mydict[ch]=1
if ch.isalpha()==False:
flag=False
if flag==True:
mylist=list(mydict.items())
mylist.sort(key=lambda x:x[1],reverse=True)
a=mylist[0]
b=a[1]
for i in mydict:
if mydict[i]==b:
print(i,mydict[i])
else:
print('no alpha')