python个人练习(30-39)

7

#30.年龄急转弯

#输入

def func(n):
    if n == 1:
        return 10
    else:
        return func(n-1)


print(func(5))

#输出

# 10

#31.判断回文数

#输入

def huiwen(n):
    str1 = str(n)
    str2 = str1[::-1]
    if str1 == str2:
        print("是回文数")
    else:
        print("不是回文数")


while True:
    try:
        n = int(input("请输入一个正整数:"))
        if n <= 0:
            print("输入不是正整数!")
            continue
        huiwen(n)
    except ValueError:
        print("请输入有效的数!")

#输出

# 请输入一个正整数:3232
# 不是回文数
# 请输入一个正整数:12521
# 是回文数
# 请输入一个正整数:-32
# 输入不是正整数!
# 请输入一个正整数:sd
# 请输入有效的数!
# 请输入一个正整数:sds
# 请输入有效的数!

#32.判断星期几

#输入

def jud_week():
    char = input("请输入第一个字符:").upper()
    if char == "M":
        print("是星期一")
    elif char == "W":
        print("是星期三")
    elif char == "F":
        print("是星期五")
    elif char == "T":
        char2 = input("请输入第二个字符:").upper()
        if char2 == "U":
            print("是星期二")
        elif char2 == "H":
            print("是星期四")
        else:
            print("输入错误,请重新输入!")
    elif char == "S":
        char2 = input("请输入第二个字符:").upper()
        if char2 == "A":
            print("是星期六")
        elif char2 == "U":
            print("是星期日")
        else:
            print("输入错误,请重新输入!")
    else:
        print("输入错误,请重新输入!")


while True:
    try:
        jud_week()
    except ValueError:
        print("请输入有效的数")

#输出

# 请输入第一个字符:m
# 是星期一
# 请输入第一个字符:M
# 是星期一
# 请输入第一个字符:TU
# 输入错误,请重新输入!
# 请输入第一个字符:T
# 请输入第二个字符:U
# 是星期二
# 请输入第一个字符:W
# 是星期三
# 请输入第一个字符:THURSDAY
# 输入错误,请重新输入!
# 请输入第一个字符:T
# 请输入第二个字符:H
# 是星期四
# 请输入第一个字符:F
# 是星期五
# 请输入第一个字符:S
# 请输入第二个字符:A
# 是星期六
# 请输入第一个字符:S
# 请输入第二个字符:U
# 是星期日
# 请输入第一个字符:FASD
# 输入错误,请重新输入!
# 请输入第一个字符:133
# 输入错误,请重新输入!
# 请输入第一个字符:,
# 输入错误,请重新输入!

#33.相反顺序输出列表

#输入

List = [1, 2, 35, 7]
List.reverse
print(List)
List.reverse()
print(List)

#输出

# [1, 2, 35, 7]
# [7, 35, 2, 1]

#34.对10个数排序

#输入

while True:
    try:
        a = map(float, input("请输入待排序的数:").split())
        print(a)
        a = list(a)
        print(a)
        a.sort()
        print(a)
    except ValueError:
        print("请输入有效的数!")

#输出

# 请输入待排序的数:423 653 534.3 564.64 43 4326 7563 4
# <map object at 0x000002694735B520>
# [423.0, 653.0, 534.3, 564.64, 43.0, 4326.0, 7563.0, 4.0]
# [4.0, 43.0, 423.0, 534.3, 564.64, 653.0, 4326.0, 7563.0]
# 请输入待排序的数:aad fskkwe rewjk g 543 8674
# <map object at 0x000002694735B460>
# 请输入有效的数!
# 请输入待排序的数:2
# <map object at 0x000002694735B4C0>
# [2.0]
# [2.0]
# 请输入待排序的数:21 5 6
# <map object at 0x000002694735B430>
# [21.0, 5.0, 6.0]
# [5.0, 6.0, 21.0]

#35.求矩阵主对角线元素和

#输入

List = []
total = 0
for i in range(3):
    row = []
    for j in range(3):
        value = float(input("请输入一个数:"))
        row.append(value)
        if i == j:
            total += value
    List.append(row)
print(List)
print(total)

#输出

# 请输入一个数:4
# 请输入一个数:756
# 请输入一个数:43
# 请输入一个数:56.65
# 请输入一个数:877
# 请输入一个数:54
# 请输入一个数:43
# 请输入一个数:-1.3
# 请输入一个数:54
# [[4.0, 756.0, 43.0], [56.65, 877.0, 54.0], [43.0, -1.3, 54.0]]
# 935.0

#36.有序列表添加数据

#输入

List = [-3.5, 7, 54, 325]
print(List)
a = int(input("请输入一个数:"))
List.append(a)
List.sort()
print(List)

#输出

# [-3.5, 7, 54, 325]
# 请输入一个数:52
# [-3.5, 7, 52, 54, 325]

#37.变量值交换

#输入

a = 2
b = 6
print(f"a的值为{a},b的值为{b}")
a, b = b, a
print(f"a的值为{a},b的值为{b}")

#输出

# a的值为2,b的值为6
# a的值为6,b的值为2

#38.产生随机数

#输入

import random

for i in range(1, 10):
    a = random.random()
    b = random.randint(1, 10)
    c = random.randrange(1, 10, 3)
    print(f"{a:.5f} \t{b}\t {c}")

#输出

# 0.43164         9        1
# 0.92248         4        1
# 0.87996         9        4
# 0.70177         3        1
# 0.36080         5        1
# 0.93632         7        7
# 0.46182         8        1
# 0.18348         9        1
# 0.90818         2        1

#39.lambda表达式

#输入

def a(x, y): return x**3+y**3


print(a(4, 5))

#输出

#189