11.统计字符串中的字母,空格,数字
# 从用户处获取输入,提示用户输入一串字符,并将输入的值赋给变量str
str = input("请输入一串字符:")
# 初始化四个计数器变量,分别用于统计字母、空格、数字和其他字符的数量
letter, space, digit, other = 0, 0, 0, 0
# 遍历用户输入的每一个字符
for chacter in str:
# 如果字符是字母(无论是大写还是小写)
if chacter.isalpha():
# 字母计数器加1
letter += 1
# 如果字符是空格(包括空格、制表符、换行符等)
elif chacter.isspace():
# 空格计数器加1
space += 1
# 如果字符是数字(0-9)
elif chacter.isdigit():
# 数字计数器加1
digit += 1
else:
# 如果字符不是字母、空格也不是数字,那么就是其他字符
# 其他字符计数器加1
other += 1
# 打印统计结果,使用格式化字符串将计数器变量的值插入到字符串中
print("该字符串中包含%d字母、%d空格、%d数字、%d其他字符" % (letter, space, digit, other))
请输入一串字符:ejdnxu0--=
该字符串中包含6字母、0空格、1数字、3其他字符
12.求s=a+aa+aaa+aaaa+aa…a
# 请求用户输入一个1到9之间的整数,并将其存储在变量a中。注意此时a是字符串类型。
a = input("请输入1-9之间的任意整数。\n") # type(a) = string
# 请求用户输入一个数字,表示需要连续相加的数字的个数,并将其转换为整数类型后存储在变量n中。
n = int(input("请问需要几个数字连续相加?\n"))
# 初始化一个空字符串str,用于后续构建由多个a组成的字符串。
str = "" # 用于接收若干个a组成的字符串
# 初始化一个变量sum,用于存储累加的结果。
sum = 0
# 使用for循环,从0到n-1(总共n次)
for num in range(0, n):
# 在每次循环中,将字符串a追加到str变量的末尾。
str = str + a
# 如果当前不是最后一次循环(即num小于n-1),则打印str后面跟着一个加号和一个换行符(end=""表示不换行)。
# 否则(即最后一次循环),只打印str本身。
print("%s+" % str, end="") if num < n - 1 else print("%s" % str, end="")
# 将str转换为整数并累加到sum变量中。
sum += int(str)
# 打印最终的累加结果。
print("=%d" % sum)
13.找出列表 a = [“hello”, “world”, “yoyo”, “congratulations”] 中单词最长的一个。
def test():
a=["hello","world","yoyo","congratulations"]
#统计数组中第一个值的长度
length=len(a[0])
for i in a:
if len(i)>length:
length=i
return length
print(test())
运行结果:congratulations
14.取出列表 L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88] 中最大的三个值。
import heapq
L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]
top_three=heapq.nlargest(3,L1)
print("最大的三个值是:",top_three)
运行结果:最大的三个值是: [88, 33, 11]
15.把列表a=[1,-6,2,-5,9,4,20,-3]中的数字绝对值从小到大排序。
a=[1,-6,2,-5,9,4,20,-3]
# 使用列表推导式获取每个数字的绝对值
value= [abs(num) for num in a]
# 对绝对值进行排序
sorted_value=sorted(value)
print(sorted_value)
运行结果:[1, 2, 3, 4, 5, 6, 9, 20]