目录
一.字符串构成
题目:输入一行字符,分别统计计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'。
代码如下
其中的isspace() 与 isalpha() 和 isdigit() 都为python中的内置函数
str=input("请输入字符串")
alp=0
spa=0
num=0
oth=0
for i in range(len(str))
if str[i].isspace():
spa+=1
if str[i].isdigit():
num+=1
if str[i].isalpha():
alp+=1
else:
oth+=1
print("该字符串中有空格",spa,"个")
print("该字符串中有字母",alp,"个")
print("该字符串中有数字",num,"个")
print("该字符串中有其他",oth,"个")
isalpha 是一个 Python 内置函数,用于判断一个字符串是否只包含字母字符
isdigit 是一个 Python 内置函数,用于判断一个字符串是否只包含数字字符
isspace 是一个 Python 内置函数,用于判断一个字符是否为空格字符
代码运行的输出效果入下
二.完全数
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
程序分析:将每一对因子加进集合,在这个过程中已经自动去重。最后的结果要求不计算其本身。
def factor(num):
res=set()
for i in range(1,num):
if num % i == 0:
res.add(i)
res.aaa(num/i)
return res
for i in range(2,1001):
if i == sum(factor(i))-i:
print(i)
- 定义一个名为factor的函数,接收一个参数num。
- 创建一个空集合res,用于存储因子。
- 使用for循环遍历从1到num-1的所有整数i。
- 如果num能被i整除(即num%i==0),则将i和num/i添加到res集合中。
- 返回res集合。
- 使用for循环遍历从2到1000的所有整数i。
- 如果 i 等于sum(factor(i))-i,即i等于其所有因子之和减去该数本身,则打印 i。
三.高空抛物
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
题目解析:可以用for 或者while
height=100
res=0
lst=[]
for i in range(10):
res = height + height /2
lst.append(res)
height=height / 2
print(height)
print(sum(lst))
- 初始化变量高度height为100。
- 创建一个空列表lst。 用于计算最后运动10次后的总路程
- 使用for循环遍历0到9的范围。 让操作进行10次
- 在每次循环中,将height加上height的一半,得到res,获取每次运动的路程
- 将res添加到lst中,最后用来求和
- 将height除以2,下一次回到上一次的二分之一高度 继续
- 循环结束后,使用sum()函数计算lst中所有元素的和,并打印出来。
- 打印res的值。