Python学习笔记Ⅳ —— 作业篇Ⅰ(共7题)

作业1:编写一段代码,输出99乘法表。

答案:

# 1.使用while循环完成
i = 1
while i<=9:
    j = 1
    while j<=i:
        print("%d x %d = %-2d\t"%(j,i,j*i),end="")
        j+=1
    i+=1
    print()

print('='*50 + '华丽的分割线' + '='*50)

# 2.使用for循环完成
for i in range(1,10):
    for j in range(1,i+1):
        print("%d X %d = %-2d"%(j,i,i*j),end=' ')
    print('')

结果:

作业2:用while...else...语句编写一个程序,判断输入数字是奇数还是偶数。

答案:

print("练习1:判断奇偶")
num = input("请输入一个自然数:")
if num.isdigit():
    num = int(num)
    while num%2==0:
        print("您输入的是一个偶数")
	break
    else:
        print("您输入的是一个奇数")
else:
    print("您输入的不是一个自然数")

结果:

作业3:假如你手上有100块钱,你需要买100只鸡。这个时候你去市场上,发现鸡有三种:母鸡3元一只,公鸡1元一只,小鸡0.5元一只,现在请问你有多少种买法可以把钱花完?

答案:

nums = 0
plan_list = []
money = 100
for i in range(0,34):
    money -= i*3
    for j in range(0,money+1):
        k = (money-j)*2
        if i+j+k == 100:
            nums += 1
            plan = ["%d只母鸡"%i,"%d只公鸡"%j,"%d只小鸡"%k]
            plan_list.append(plan)
print("共有%d种方法,分别是:"%nums,end="")
i = 0
for plan in plan_list:
    i+=1
    print('%d.'%i,plan[0],plan[1],plan[2],end="  ")

结果:

作业4:输入一行非空字符串(长度小于5000),单词以空格隔开,计算字符串最后一个单词的长度

答案:

str_input = input("请输入一行非空字符串(长度小于5000),单词以空格隔开:")
len_lastwd = len(str_input.split()[-1])
print("最后一个单词的长度为:%d"%len_lastwd)

结果:

作业5:比较两个列表中的元素,找出不相同的元素并保存在列表3中

答案:

list1 = ['a','abc',1,(1,'a')]
list2 = [34,'abc',1,True]
list_intersection = [value for value in list1 if value in list2]
list3 = [value for value in list1+list2 if value not in list_intersection]
print("列表1为:{}\n列表2为:{}\n不相同的元素为:{}".format(list1,list2,list3))

结果:

作业6:遍历以下列表 ,并找出索引为奇数的元素遍历以下列表 ,并找出索引为奇数的元素

答案:

my_list = [1,2,'abc',[1,'a'],{1,2,'a'}]
for index,value in enumerate(my_list):
    if index % 2 == 1:
        print(index,value)

结果:

 

作业7:使用递归函数实现斐波那契数列

答案:

def fibonacci(num):
    if num == 1 or num == 2:
        return 1
    else:
        return fibonacci(num-1)+fibonacci(num-2)
num = int(input('请输入需要的斐波那契数列长度:'))
print([fibonacci(i) for i in range(1,num+1)])

结果:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值