有趣的10道python练习题

1.从键盘上输入得三个数值并进行升序排列。

print("请输入第一个数:")
a = input()
print("请输入第二个数:")
b = input()
print("请输入第三个数:")
c = input()
if a > b: a, b = b, a
if a > c: a, c = c, a
if b > c: b, c = c, b
print("从小到大:%s,%s,%s"%(a,b,c))

2.打印九九乘法表。

for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end='   ')
    print(" ")

3.请编写一个函数,能够实现任意数相加的功能。

def sum_any(*n):
    s=0
    for _ in n:
        s+=_
    return s

print(sum_any(7,33,6,42,23,33))

4.请使用递归函数求给定n以内的所有整数之和。

def addn(n):
    if n==1:
        return 1
    return n+addn(n-1)

print(addn(100))

5.从键盘上输入年月日,输出当月的日历并判断该日期是星期几?

import calendar

year = int(input("请输入年份:"))
month = int(input("输入月份:"))
day = int(input("输入日期:"))
table1 = calendar.calendar(year)
table2 = calendar.month(year,month)
print(table2)
a1 = calendar.weekday(year,month,day)

if a1 == 0:
    print("周一")
elif a1 == 1:
    print("周二")
elif a1 == 2:
    print("周三")
elif a1 == 3:
    print("周四")
elif a1 == 4:
    print("周五")
elif a1 == 5:
    print("周六")
elif a1 == 6:
    print("周日")
else :
    print("程序错误")

6.利用python做一个小型计算器

a = float(input("输入第一个数字:"))
b = float(input("输入第二个数字:"))
c = input("输入运算符号")
if c == '+':
    print("a+b=", a + b)
elif c == '-':
    print("a-b=", a - b)
elif c == '*':
    print("a*b=", a * b)
elif c == '/':
    if b == 0:
        print("输入错误,除数不能为0")
    else:
        print("a/b=", a / b)
else:
    print("符号输入错误!!!")

7.给定的列表a中将其每个值+1后并返回值

a = [0, 1, 3, 4, 5, 6, 7, 8, 9]
a = [0, 1, 3, 4, 5, 6, 7, 8, 9]
#方法1
b = []
for i in a:
    b.append(i+1)
print(b)


#方法2
c = list(map(lambda x:x+1,a))
print(c)



#方法3
d =(y+1 for y in a)
print(list(d))

8.有一人做了好事

A:不是我

B:是C

C:是D

D:c胡说

有三个人说了真话 判断谁做了好事

for i in ['A','B','C','D'] :
    if (i!='A') + (i=='C') + (i=='D') + (i!='C') == 3:
        print(i,'做了好事')

9.画出菱形

for i in range(1,6):
    for j in range(6-i):
        print(" ",end=" ")
    for j in range(1,2*i):
        print("*",end=' ')
    print('\n')
print('* '*11,end=' ')
print('\n')
for i in range(1,6):
    for j in range(i):
        print(" ",end=" ")
    for j in range(1,12-2*i):
        print("*",end=' ')
    print('\n')

10.  1,2,3,4,5个数字,能组成多少个互不相同且无重复的三位数

sum1 = 0
for i in range(1,6):
    for j in range(1,6):
        for k in range(1,6):
            if (i!=j) and (i!=k) and (j!=k) :
                print('这三个数为:%d %d %d' % (i, j, k))
                sum1 += 1
print('一共有 %d 个数'%sum1)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值