十进制转二进制
# a=eval(input('请您输入十进制数:'))
# m=''
# while a>0:
# m+=str(a%2) #a对2求余,添加到字符串m最后
# a=a//2
# print(m[::-1]) #反向输出
a = int(input('请输入一个十进制数:'))
m = bin(a)
print(m)
十进制转十六进制
# val = int(input("请输入一个十进制数"))不去0x
# val = hex(val)
# print(val)
val = int(input("请输入一个十进制数"))去0x
val = hex(val)
print(type(val))
interval = val[2:].upper()
print(interval)
不死兔子
#不死兔子
def get_rabbit(num):
if num <5:
return 1
return get_rabbit(num-1)+get_rabbit(num-4)
print(get_rabbit())
棋盘
def board(arr):
if arr is None:
return 0
if len(arr) == 1 and len(arr[0]) == 1:
return 1
# 第一行只有一种走法
for i in range(len(arr[0])):
arr[0][i] = 1
# 纵轴的第一列
for i in range(len(arr)):
arr[i][0] = 1
# 外层循环控制的纵轴
for i in range(1, len(arr)):
# 里层循环控制的横轴
for j in range(1, len(arr[0])):
arr[i][j] = arr[i - 1][j] + arr[i][j - 1]
return arr[len(arr) - 1][len(arr[0]) - 1]
# python的主函数
# 在静态编程语言中,main函数是程序的入口
# 注意:python中的main函数,并不是程序的入口
# 主要是用来写测试代码
# python的main函数中的代码,一般是测试当前模块的代码
# 这些代码无法被导入到其他模块中
if __name__ == '__main__':
ls = [
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
]
count = board(ls)
print(f"从左上角开始走,到右下角,共有{count}种走法")
Python (蒙特卡罗模拟)一个正方形被分为四个更小的区域,如图a所示。如果你投掷一个飞镖到这个正方形一百万次,这个飞镖落在一个奇数区域里的概率是多少?编写程序模拟这个过程然后显式结果。(提示:将这个正方形的中心放在坐标系统的中心位置,如图b所示。在正方形中随机产生一个点,然后统计这个点落人奇数区域的次数。)
# 方法一:
import random
sum = 0
for i in range (0, 1000001):
x = random.random() * random.choice([-1,1])
y = random.random() * random.choice([-1,1])
if x<= 0 or ( x >= 0 and y >= 0 and (y / (1 - x) >= 1)):
sum += 1
a = sum / 1000000
print("1000000个随机点落在奇数区域的概率是%.12f"%a)
# 方法二:
import random
total = 1000000
count = 0
for i in range(0,total):
x = random.random() * 2 - 1 # random.random() 产生[0,1)之间任意一个小数
y = random.random() * 2 - 1 # random.random() 产生[0,1)之间任意一个小数
if -1 <= x <= 0 and -1 <= y <= 1:
count += 1
elif 0 <= x <= 1 and 0 <= y <= 1 and y / (1-x) <= 1:
count += 1
print("1000000个随机点落在奇数区域的概率是%.12f"%(count / total))
Python (显示闰年)编写程序显示21世纪(从2001年到2100年)里所有的闰年,每行显示10个闰年。这些年被一个空格隔开。
count = 0
for y in range(2001, 2100 + 1):
if y % 400 == 0 or y % 4 == 0 and y % 100 != 0:
print(y, end=" ")
count += 1
if count % 10 == 0:
print()