python-实验报告-3
1、编写程序,用户输入一个五位整数,输出其千位和十位数字之和。
num = int(input())
# 12345
s1 = (num//1000)%10
s2 = (num//10)%10
sum = s1 + s2
print(sum)
心得:
首先,程序通过 input() 函数获取用户输入的整数,保存在变量 num 中。
然后,程序使用整数除法 // 和取模运算 % 获取该整数的千位和十位数字。
// 运算符表示整数除法,它可以将两个整数相除并向下取整,得到一个整数结果。例如,12345//1000 的结果为 12,表示将 12345 除以 1000 并向下取整得到 12。
% 运算符表示取模运算,它可以得到两个整数相除的余数。例如,12345%10 的结果为 5,表示将 12345 除以 10 得到余数 5。
程序使用 (num//1000)%10 获取千位数字,首先将整数 num 除以 1000 得到一个三位整数,然后使用 % 运算符获取这个三位整数的个位数字,即千位数字。
程序使用 (num//10)%10 获取十位数字,首先将整数 num 除以 10 得到一个四位整数,然后使用 % 运算符获取这个四位整数的个位数字,即十位数字。
接下来,程序将千位数字和十位数字相加,得到它们的和,保存在变量 sum 中。
最后,程序使用 print() 函数将千位和十位数字之和输出到屏幕上。
2、生成包括1000个0到100之间的随机整数,统计每个元素的出现次数,然后按照统计次数逆序输出所有元素。(提示:在输出时重复的数据只显示一次。)
import random
num = [random.randint(0,100) for _ in range(1000)]
count = {}
for i in num:
if i not in count:
count[i] = 1
else:
count[i] += 1
sort = sorted(count.items(),key=lambda x:x[1],reverse=True)
for i,j in sort:
print(i,j)
心得:
生成一个长度为1000的整数列表num,其中每个元素的值是在0到100之间随机生成的整数。
创建一个空字典count,用于记录每个数字在列表num中出现的次数。
遍历num列表中的每个数字,如果该数字还没有在count字典中出现过,就将其添加到字典中,并将其出现次数设置为1;否则,将该数字对应的计数器加1。
使用sorted函数对字典count进行排序,按照值(即每个数字在列表num中出现的次数)的大小从大到小排序。
遍历排序后的字典,打印每个数字和它在列表num中出现的次数。
3、请输入一个字符串,再输入要添加的某若干个字符 ,大小写不用区分,统计出字符串中重复字符的个数,并输出重复字符及其重复次数。
string = input().lower()
ch = input().lower()
string += ch
count = {}
for num in string:
if num in count:
count[num] += 1
else:
count[num] = 1
for num in count:
if count[num]>1:
print(f"字符'{num}'重复出现了{count[num]}次")
心得:
接收用户输入的字符串,将其转换为小写字母形式。
接收用户输入的要添加的字符,将其转换为小写字母形式。
将输入的要添加的字符添加到字符串中。
创建一个空字典count,用于记录每个字符在字符串中出现的次数。
遍历字符串中的每个字符,如果该字符已经在字典count中出现过,就将其计数器加1;否则,将其添加到字典中,并将其计数器初始化为1。
遍历字典count,对于计数器值大于1的键值对,打印出字符和其重复出现的次数。
需要注意的是,在该代码中,我们使用了字符串的lower()方法将字符串和要添加的字符转换为小写形式,以实现大小写不区分的统计。