python练习一百题(2)

原文链接:https://blog.csdn.net/songlh1234/article/details/91391981

  • 题目011:古典问题:

有一对兔子,

从出生后第3个月起每个月都生一对兔子,

小兔子长到第三个月后每个月又生一对兔子。

假如兔子都不死。

问每个月的兔子总数为多少?

mm=1 #可以生兔子的兔子
m1=0#满月的兔子
m2=0#满两个月的兔子
for i in range(1,10):
    mm=mm+m2
    m2=m1
    m1=mm
    print(i,mm+m1+m2)

题目012:判断101-200之间有多少个素数,并输出所有素数。

arr=[2,3]
for i in range(4,201):
    for j in arr:
        if i%j==0:
            break
    else: arr.append(i)
for i in range(len(arr)):
    if arr[i]>100:
        l=arr[i:]
        print(l,len(l))
        break
  • 题目013:打印出所有的"水仙花数",

所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
【个人备注】: // 取整,% 求余,**3 三次方。知道取整求余写法的就没问题。

for i in range(100,1000):
    a=i//100
    b=i%100//10
    c=i%10
    if i==a**3+b**3+c**3:
        print(i)
   
  • 题目014:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
    TypeError: ‘>’ not supported between instances of ‘str’ and ‘int’
    num=int(input(’ 请输入一个数:’))不加int会默认为str型
import math
num=int(input(' 请输入一个数:'))
arr=[]
while num>1:
    for i in range(2,int(math.sqrt(num))+1):
        if num%i==0:
            arr.append(i)
            num=num//i
            break
    else:
         arr.append(num)
         break
print(arr)

  • 题目015:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
score=float(input('请输入分数:'))
if score>=90:
    print('A')
elif score>=60:
    print('B')
else:
    print('C')
  • 题目016:输出指定格式的日期。
import time
#print(time.time())#返回当前时间的时间戳(1970纪元后经过的浮点秒数),结果为:1568888576.8638039
#print(time.localtime())#输出时间元组:time.struct_time(tm_year=2019, tm_mon=9, tm_mday=19, tm_hour=18, tm_min=26, tm_sec=15, tm_wday=3, tm_yday=262, tm_isdst=0)
#print(time.asctime())#s时间的一种可读文本形式:Thu Sep 19 18:28:18 2019
#print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))  #2019-09-19 18:37:47

st=time.localtime(time.time())#时间戳转化为时间元组
st=time.strptime('2018/1/23','%Y/%m/%d')#时间文本转化为时间元组
date = time.strftime('%Y-%m-%d',st)                         # 时间元祖 转化成 时间文本  '%Y-%m-%d %H:%M:%S'
print(date)

  • 题目017:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
s=input('请输入一个字符串:\n')
letters,space,digit,others=0,0,0,0
for c in s:
    if c.isalpha():
        letters+=1
    elif c.isspace():
        space+=1
    elif c.isdigit():
        digit+=1
    else:
        others+=1
print('char=%d,space=%d,digit=%d,others=%d'%(letters,space,digit,others))

在这里插入图片描述

  • 题目018:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
a=2
t=5
num=0
for i in range(1,t+1):
    num=num+i*a*(10**(t-i))
print(num)
  • 题目019:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
for num in range(1,100):
    arr=[]
    for i in range(1,num):
        if num%i==0:
            arr.append(i)
    if sum(arr)==num:
        print(num,arr)
  • 题目020:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
total=0
m=100
for i in range(9):
    m=m/2
    total+=m*2
print(tot
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一门十分流行的编程语言,它简单易学、代码简洁、功能强大。完成一百道Python练习是提高Python编程能力、加深对Python语言的理解的一种很好的方式。 这一百道练习包括了从基础语法到高级应用等各方面的知识。比如,学会了条件语句、循环语句、函数、列表、字典等基本知识后,就可以尝试一些更加高级的练习,如利用Python进行数据分析、可视化等。 而通过完成练习,我们可以提高编程的思维能力,如算法思维、问分析和编程细节等方面的能力。同时还可以加深对Python语言的各种库、模块的了解和应用。 在做练习过程中,还需要注意遵守代码规范,编写优雅的代码,这不仅能提高代码的可读性,也是在实际工作中需要遵守的基本要求之一。 总之,完成一百道Python练习虽然是一项比较艰巨的任务,但是通过不懈努力,能够提高Python编程能力、加深对Python语言的理解,为日后的编程工作、学习等提供坚实的基础。 ### 回答2: 一百道Python练习是一份很好的学习和练习材料,可用于巩固Python编程语言的基础知识,提高编程技能。这些练习涵盖了Python编程的各个方面,如标准库的使用、函数的定义、条件语句、循环语句、字符串操作、列表操作、字典操作等等。 通过完成这些练习,可以加深对不同Python概念的理解,更多地掌握Python的语法和特性,进而提升解决问的能力。这些练习也可以用于检查和评估学习者的编程水平,以便进一步调整学习计划和课程内容,更好地满足学习者的需求。 在完成这些练习时,建议先仔细阅读目要求和提示,尝试自己完成,如遇到困难可寻求相关资料和帮助。同时,还应注重代码的质量和可读性,考虑测试和调试的重要性。 总之,通过完成这些Python练习,可以提高自己的编程能力和实践经验,进而更好地应对实际编程问。 ### 回答3: 一百道Python练习是很好的练习机会,对于初学者和有经验的开发者都有用。通过解决这些目,可以提高对Python语言的理解和掌握程度,加深对编程逻辑和算法的认识,锻炼编程思维,提高代码实现能力。 这些目从简单到困难,涵盖了Python的各个领域,包括基本语法、列表、字典、函数、模块、文件处理、正则表达式等。 目多样化,涉及到数学、计算机科学以及实际编程中常见的问。解决这些问需要分析目,理解意,寻找合适的解决方案,写出清晰易读的代码。 解决这些练习不仅有助于提高Python编程能力,还有利于增强编程的实际应用能力。在解决每一个问的过程中,也需要考虑到实际开发中的各种情况,并尝试更多的练习和尝试。 总之,一百道Python练习是很有用的编程练习资源,对于任何想要提高自己Python编程能力的人来说都是值得尝试的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值