python必会题目解析第一天

目录

一.字符串构成

二.完全数

三.高空抛物


一.字符串构成

题目:输入一行字符,分别统计计出其中英文字母、空格、数字和其它字符的个数。

程序分析利用 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)
  1. 定义一个名为factor的函数,接收一个参数num
  2. 创建一个空集合res,用于存储因子。
  3. 使用for循环遍历从1到num-1的所有整数i。
  4. 如果num能被i整除(即num%i==0),则将i和num/i添加到res集合中。
  5. 返回res集合。
  6. 使用for循环遍历从2到1000的所有整数i。
  7. 如果 等于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))
  
  1. 初始化变量高度height为100。 
  2. 创建一个空列表lst。 用于计算最后运动10次后的总路程
  3. 使用for循环遍历0到9的范围。 让操作进行10次
  4. 在每次循环中,将height加上height的一半,得到res,获取每次运动的路程
  5. res添加到lst中,最后用来求和
  6. height除以2,下一次回到上一次的二分之一高度 继续
  7. 循环结束后,使用sum()函数计算lst中所有元素的和,并打印出来。
  8. 打印res的值。
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值