python个人练习(30-39)
#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