python编程题
编程题4:统计字符串中某类字符个数(字符分为大写字符、小写字符、数字字符、其他字符四类)编程题11:自己定义一个字典,求和(值),求最大值(值),平均值(值)
编程题12:求两个数的最大公约数(调用自定义函数实现,自定义函数的功能是求两个数的最大公约数)
编程题13:将某个区间内的素数输出(调用自定义函数实现,自定义函数的功能是判断一个数是不是素数) 本帖最后由 白two 于 2021-12-4 01:38 编辑
# 4
def statistics(str):
a = "A~Z"
b = "a~z"
c = "1~9"
a1, b1, c1, d1 = 0, 0, 0, 0
for i in str:
if i in a:
a1 += 1
elif i in b:
b1 += 1
elif i in c:
c1 += 1
else:
d1 += 1
return ("大写字符%d个,小写字符%d个,数字字符%d个,其他字符%d个" % (a1, b1, c1, d1))
# 11
def dict_calc(dict_target):
sum = 0
max = 0
average = 0
for i in dict_target:
i = dict_target
sum += i
if max < i:
max = i
average = sum / len(dict_target)
return ("和%d,最大值%d,平均值%d" % (sum, max, average))
# 12
def gongyueshu(num1, num2):
num = num1 if num1 < num2 else num2
while num >= 1:
if (num1 % num == 0) and (num2 % num == 0):
return (f"最大公约数{num}")
num -= 1
# 13
def prime_number(lst):
list1 = []
for i in lst:
num = i ** 0.5
n = 2
flag = 1
if i == 1:
flag = 0
while n <= num:
if i % n == 0:
flag = 0
break
n += 1
if flag == 1:
list1.append(i)
return list1
print(statistics('AAAaaa111./...'))
print(dict_calc({'a': 1, 'b': 2, 'c': 3, 'd': 5, 'e': 4}))
print(gongyueshu(21, 3))
print(prime_number(range(1, 101)))
运行结果:
大写字符3个,小写字符3个,数字字符3个,其他字符5个
和15,最大值5,平均值3
最大公约数3
"A~Z" 是什么东西?A 到 Z 吗?Python 语法吗?
def statistics(str):
a = "A~Z"
b = "a~z"
c = "1~9"
a1, b1, c1, d1 = 0, 0, 0, 0
for i in str:
if i in a:
a1 += 1
elif i in b:
b1 += 1
elif i in c:
c1 += 1
else:
d1 += 1
return ("大写字符%d个,小写字符%d个,数字字符%d个,其他字符%d个" % (a1, b1, c1, d1))
print(statistics("xysst4565464645"))错误结果:大写字符0个,小写字符0个,数字字符0个,其他字符15个 a = "A~Z" 只表示三个字符。 那就是 A 和 ~ 和 Z
b = "a~z" 只表示三个字符。 那就是 a 和 ~ 和 z
c = "1~9" 只表示三个字符。 那就是 1 和 ~ 和 9
最可爱的楼主居然设最佳解答? 本帖最后由 白two 于 2021-12-4 15:32 编辑
傻眼貓咪 发表于 2021-12-4 14:07
a = "A~Z" 只表示三个字符。 那就是 A 和 ~ 和 Z
b = "a~z" 只表示三个字符。 那就是 a 和 ~ 和 z ...
哈哈,懒得打那么多字符了
毕竟我只是提供一个思路嘛 白two 发表于 2021-12-4 15:31
哈哈,懒得打那么多字符了
毕竟我只是提供一个思路嘛
抱歉,误会你了{:10_257:}
页:
[1]