python个人练习
#1.两数求和
#输入
num1 = 2
num2 = 43
result = num1 + num2
print(result)
#输出
#45
#1.两数求和(手敲,无编程助手)
#输入
while True:
try:
a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数:"))
print("两个数的和是", a + b)
except ValueError:
print("请输入正确的数!")
#输出
# 请输入第一个数:a
# 请输入正确的数!
# 请输入第一个数:eew
# 请输入正确的数!
# 请输入第一个数:-32.3
# 请输入第二个数:34.6
# 两个数的和是 2.3000000000000043
# 请输入第一个数:3
# 请输入第二个数:4
# 两个数的和是 7.0
#2.求100以内偶数
#输入
List = []
for i in range(100):
if i % 2 == 0:
List.append(i)
print(List)
#输出
#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
#3.求100以内奇数
#输入
List = []
for i in range(100):
if i % 2 != 0:
List.append(i)
print(List)
#输出
#[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 93, 9593, 95, 993,93,93,93, 9593,93, 95, 97, 99]
#4.判断素数
#输入
import math
while True:
try:
num = int(input('请输入一个大于1的正整数:'))
# 处理非大于1正整数的情况
if num <= 1:
print('输入不是大于1的正整数')
continue
flag = False
sqrt_num = int(math.sqrt(num)) + 1 # 遍历到 sqrt(num) 即可
for i in range(2, sqrt_num):
if num % i == 0:
flag = True
break
if flag:
print(f'{num}不是素数')
else:
print(f'{num}是素数')
except ValueError:
print("请输入有效的整数!")
#输出
# 请输入一个大于1的正整数:2
# 2是素数
# 请输入一个大于1的正整数:3
# 3是素数
# 请输入一个大于1的正整数:44
# 44不是素数
# 请输入一个大于1的正整数:-2
# 输入不是大于1的正整数
# 请输入一个大于1的正整数:-43
# 输入不是大于1的正整数
# 请输入一个大于1的正整数:1.1
# 请输入有效的整数!
# 请输入一个大于1的正整数:abf
# 请输入有效的整数!
#4.判断素数(手敲)
#输入
import math
def jud_prime():
while True:
try:
flag = False
a = int(input("请输入一个大于1的正整数:"))
if a <= 1:
print("输入不是大于1的正整数,请重新输入!")
continue
for i in range(2, int(math.sqrt(a) + 1)):
if a % i == 0:
flag = True
break
if flag:
print(f"{a}不是素数")
else:
print(f"{a}是素数")
except ValueError:
print("请输入一个有效的数!")
jud_prime()
#输出
# 请输入一个大于1的正整数:3
# 3是素数
# 请输入一个大于1的正整数:23
# 23是素数
# 请输入一个大于1的正整数:25
# 25不是素数
# 请输入一个大于1的正整数:-1.1
# 请输入一个有效的数!
# 请输入一个大于1的正整数:-1
# 输入不是大于1的正整数,请重新输入!
# 请输入一个大于1的正整数:a
# 请输入一个有效的数!
#5.求阶乘(非递归)
#输入
while True:
try:
num = int(input("请输入一个非负整数: "))
if num < 0:
print("输入错误,请输入一个非负整数。")
continue
sum = 1
for i in range(1, num + 1):
sum *= i
print(f"{num}的阶乘结果为:", sum)
except ValueError:
print("输入错误,请输入一个整数。")
#输出
# 0的阶乘结果为: 1
# 请输入一个非负整数: 2
# 2的阶乘结果为: 2
# 请输入一个非负整数: 5
# 5的阶乘结果为: 120
# 请输入一个非负整数: -3
# 输入错误,请输入一个非负整数。
# 请输入一个非负整数: ase
# 输入错误,请输入一个整数。
# 请输入一个非负整数: '''
# 输入错误,请输入一个整数。
#5.求阶乘(非递归)(手敲)
#输入
def jiecheng():
while True:
try:
a = int(input("请输入一个非负整数:"))
sum = 1
if a < 0:
print("输入不是非负整数,请重新输入!")
continue
for i in range(1, (a+1)):
sum *= i
print(f"{a}的阶乘是{sum}")
except ValueError:
print("请输入有效的数!")
jiecheng()
#输出
# 请输入一个非负整数:0
# 0的阶乘是1
# 请输入一个非负整数:1
# 1的阶乘是1
# 请输入一个非负整数:2
# 2的阶乘是2
# 请输入一个非负整数:5
# 5的阶乘是120
# 请输入一个非负整数:-1
# 输入不是非负整数,请重新输入!
# 请输入一个非负整数:-1.3
# 请输入有效的数!
# 请输入一个非负整数:2.5
# 请输入有效的数!
#5.求阶乘(递归)
#输入
def jiecheng(n):
if n == 0 or n == 1:
return 1
else:
return n * jiecheng(n - 1)
while True:
user_input = input("请输入一个非负整数: ")
# user_input = input("请输入一个非负整数 (或输入 'q' 退出): ")
# if user_input.lower() == 'q':
# print("程序已退出。")
# break
try:
num = int(user_input)
if num < 0:
print("输入错误,请输入一个非负整数。")
continue
print(f"{num}的阶乘结果为:", jiecheng(num))
except ValueError:
print("输入错误,请输入一个整数。")
#输出
# 请输入一个非负整数: 0
# 0的阶乘结果为: 1
# 请输入一个非负整数: 1
# 1的阶乘结果为: 1
# 请输入一个非负整数: 7
# 7的阶乘结果为: 5040
# 请输入一个非负整数: 4
# 4的阶乘结果为: 24
# 请输入一个非负整数: a
# 输入错误,请输入一个整数。
# 请输入一个非负整数: -4
# 输入错误,请输入一个非负整数。
# 请输入一个非负整数: q
# 输入错误,请输入一个整数。
#5.求阶乘(递归)(手敲)
#输入
def jiecheng(n):
if n == 0 or n == 1:
return 1
else:
return n * jiecheng(n-1)
while True:
try:
num = int(input("请输入一个非负整数:"))
if num < 0:
print("输入不是非负整数,请重新输入!")
continue
else:
sum = jiecheng(num)
print(f"{num}的阶乘是{sum}")
except ValueError:
print("请输入有效的数!")
#输出
# 请输入一个非负整数:5
# 5的阶乘是120
# 请输入一个非负整数:1
# 1的阶乘是1
# 请输入一个非负整数:0
# 0的阶乘是1
# 请输入一个非负整数:-1
# 输入不是非负整数,请重新输入!
# 请输入一个非负整数:-33
# 输入不是非负整数,请重新输入!
# 请输入一个非负整数:6
# 6的阶乘是720
# 请输入一个非负整数:-1.4
# 请输入有效的数!
# 请输入一个非负整数:as
# 请输入有效的数!
#6.求圆的周长
#输入
def circle_perimeter(radius):
return 2 * 3.14 * radius
while True:
try:
radius = float(input("请输入圆的半径: "))
if radius <= 0:
print("半径必须大于0,请重新输入。")
continue
else:
print(f"圆的周长是: {circle_perimeter(radius)}")
except ValueError:
print("输入无效,请重新输入。")
#输出
# 请输入圆的半径: 2
# 圆的周长是: 12.56
# 请输入圆的半径: 0
# 半径必须大于0,请重新输入。
# 请输入圆的半径: 1.1
# 圆的周长是: 6.908000000000001
# 请输入圆的半径: we
# 输入无效,请重新输入。
# 请输入圆的半径: ...
# 输入无效,请重新输入。
# 请输入圆的半径: -3.13
# 半径必须大于0,请重新输入。
#6.求圆的周长(手敲)
#输入
def cricle_perimeter(radius):
return 2 * 3.14 * radius
while True:
try:
radius = float(input("请输入圆的半径:"))
if radius <= 0:
print("半径必须是正数,请重新输入!")
continue
else:
print(f"圆的周长是{cricle_perimeter(radius)}")
except ValueError:
print("请输入有效的数!")
#输出
# 请输入圆的半径:-2.2
# 半径必须是正数,请重新输入!
# 请输入圆的半径:-3
# 半径必须是正数,请重新输入!
# 请输入圆的半径:0
# 半径必须是正数,请重新输入!
# 请输入圆的半径:a
# 请输入有效的数!
# 请输入圆的半径:2
# 圆的周长是12.56
# 请输入圆的半径:3
# 圆的周长是18.84
# 请输入圆的半径:10
# 圆的周长是62.800000000000004
#7.求圆的面积
#输入
def circle_area(radius):
return 3.14 * radius ** 2
while True:
try:
radius = float(input("请输入圆的半径: "))
if radius <= 0:
print("半径必须大于0,请重新输入。")
continue
else:
print(f"圆的面积是: {circle_area(radius)}")
except ValueError:
print("输入无效,请重新输入。")
#输出
# 请输入圆的半径: 1
# 圆的面积是: 3.14
# 请输入圆的半径: 2
# 圆的面积是: 12.56
# 请输入圆的半径: 0
# 半径必须大于0,请重新输入。
# 请输入圆的半径: -1.1
# 半径必须大于0,请重新输入。
# 请输入圆的半径: aer
# 输入无效,请重新输入。
# 请输入圆的半径: 23
# 圆的面积是: 1661.0600000000002
# 请输入圆的半径: 12
# 圆的面积是: 452.16
#7.求圆的面积(手敲)
#输入
def cricle_area(radius):
return 3.14 * radius ** 2
while True:
try:
radius = float(input("请输入圆的半径:"))
if radius <= 0:
print("半径必须是正数,请重新输入!")
continue
else:
print(f"圆的面积是{cricle_area(radius)}")
except ValueError:
print("请输入有效的数!")
#输出
# 请输入圆的半径:0
# 半径必须是正数,请重新输入!
# 请输入圆的半径:-1.1
# 半径必须是正数,请重新输入!
# 请输入圆的半径:1.1
# 圆的面积是3.7994000000000008
# 请输入圆的半径:2
# 圆的面积是12.56
# 请输入圆的半径:a
# 请输入有效的数!
#7.求直角三角形斜边
#输入
import math
def cal_hypotenuse(a, b):
c = math.sqrt(a**2 + b**2)
print("斜边的长度为:", c)
while True:
try:
a = float(input("请输入第一条直角边长度:"))
b = float(input("请输入第二条直角边长度:"))
if a <= 0 or b <= 0:
print("边长必须大于0,请重新输入。")
continue
cal_hypotenuse(a, b)
except ValueError:
print("输入的不是数字,请重新输入。")
#输出
# 请输入第一条直角边长度:a
# 输入的不是数字,请重新输入。
# 请输入第一条直角边长度:..
# 输入的不是数字,请重新输入。
# 请输入第一条直角边长度:2
# 请输入第二条直角边长度:2
# 斜边的长度为: 2.8284271247461903
# 请输入第一条直角边长度:3
# 请输入第二条直角边长度:4
# 斜边的长度为: 5.0
# 请输入第一条直角边长度:-1
# 请输入第二条直角边长度:-1.4
# 边长必须大于0,请重新输入。
#7.求直角三角形斜边(手敲)
#输入
import math
def cal_hypotenuse(a, b):
return math.sqrt(a ** 2 + b ** 2)
while True:
try:
a = float(input("请输入第一条斜边长:"))
b = float(input("请输入第一条斜边长:"))
if a <= 0 or b <= 0:
print("请输入大于0的数!")
continue
print("斜边长是", cal_hypotenuse(a, b))
except ValueError:
print("请输入有效的数!")
#输出
# 请输入第一条斜边长:3
# 请输入第一条斜边长:4
# 斜边长是 5.0
# 请输入第一条斜边长:-1
# 请输入第一条斜边长:-4
# 请输入大于0的数!
# 请输入第一条斜边长:1.2
# 请输入第一条斜边长:1.5
# 斜边长是 1.9209372712298547
# 请输入第一条斜边长:-1.5
# 请输入第一条斜边长:4.5
# 请输入大于0的数!
# 请输入第一条斜边长:a
# 请输入有效的数!
#8.比较三个数大小
#输入
while True:
try:
a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数:"))
c = float(input("请输入第三个数:"))
List = [a, b, c]
List1 = sorted(List)
print(f"三个数从小到大为:{List1[0]},{List1[1]},{List1[2]}")
except ValueError:
print("输入错误,请重新输入!")
#输出
# 请输入第一个数:32.54
# 请输入第二个数:33
# 请输入第三个数:-3.4
# 三个数从小到大为:-3.4,32.54,33.0
# 请输入第一个数:...
# 输入错误,请重新输入!
# 请输入第一个数:sds
# 输入错误,请重新输入!
# 请输入第一个数:-32
# 请输入第二个数:-245
# 请输入第三个数:43
# 三个数从小到大为:-245.0,-32.0,43.0
#8.比较三个数大小(手敲)
#输入
def sort_three(a, b, c):
num = [a, b, c]
num.sort()
return num
while True:
try:
a = float(input("请输入第一个数:"))
b = float(input("请输入第一个数:"))
c = float(input("请输入第一个数:"))
print("三个数从大到小为:", sort_three(a, b, c))
except ValueError:
print("请输入有效的数!")
#输出
# 请输入第一个数:-a
# 请输入有效的数!
# 请输入第一个数:..
# 请输入有效的数!
# 请输入第一个数:12
# 请输入第一个数:-3.5
# 请输入第一个数:99.8
# 三个数从大到小为: [-3.5, 12.0, 99.8]
# 请输入第一个数:-443
# 请输入第一个数:-654
# 请输入第一个数:43443
# 三个数从大到小为: [-654.0, -443.0, 43443.0]