python简单实例
1水仙花数
说明:水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:
1
3
+
5
3
+
3
3
=
153
1^3 + 5^3+ 3^3=153
13+53+33=153。
for num in range(100,1000):
low = num % 10
mid = (num // 10)%10
high = num // 100
if num == low**3 + mid**3 + high**3:
print(num,end='\t')
2翻转数字
num = int(input("请输入需要翻转的数字:"))
reverse_num = 0
while num >0 :
reverse_num = reverse_num*10 + num%10
num = num//10
print(reverse_num)
3百钱白鸡
公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
for i in range(0,20):
for j in range(0,int((100-5*i)/3)):
k = 100-i-j
if 5*i + 3*j + k/3 == 100:
print("公鸡%d只,母鸡%d只,小鸡%d只!" % (i,j,k))
4 CRAPS。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。
import random
play_flag = False
play_time = 1
play_money = 1000
while play_money>0:
debt = 0
while True:
debt_money = int(input('请输入金额:'))
if debt_money>0 and debt_money<= play_money:
debt = debt_money
break
num = random.randint(1,7) + random.randint(1,7)
if num == 7 or num == 11:
print('第一次的筛子数是%d,玩家胜出' % num)
play_money += debt
elif num in (2,3,12):
print('第一次的筛子数是%d,庄家胜出' % num)
play_money -= debt
else:
print('第一次的筛子数是%d,请继续' % num)
play_flag = True
while play_flag:
play_flag = False
play_time += 1
num_rand = random.randint(2,13)
if num_rand==7:
print('第%d次的筛子数是%d,庄家胜出' % (play_time,num_rand))
play_money -= debt
elif num_rand==num:
print('第%d次的筛子数是%d,玩家胜出' % (play_time,num_rand))
play_money += debt
else:
print('第%d次的筛子数是%d,请继续' % (play_time,num_rand))
play_flag = True
print('玩家剩余钱数是%d' % play_money)
5 斐波那契数列
num_lst = [1,1]
nums = int(input('请输入数列个数'))
if nums>=3:
for i in range(2,nums):
num_num = num_lst[i-1] + num_lst[i-2]
num_lst.append(num_num)
print('%d个斐波那契数列:' % nums)
print(num_lst)
6完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。例如:6( 6 = 1 + 2 + 3 6=1+2+3 6=1+2+3)和28( 28 = 1 + 2 + 4 + 7 + 14 28=1+2+4+7+14 28=1+2+4+7+14)就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。
per_lst = []
for num in range(1,10000):
num_sqrt = int(sqrt(num))
zhi_sum = 0
for num_devide in range(1,num_sqrt+1):
if num%num_devide==0:
zhi_sum += num_devide
if num_devide>1 and num_devide!= num//num_devide:
zhi_sum += num//num_devide
if zhi_sum == num:
per_lst.append(num)
print('10000内的完美数:')
print(per_lst)
7素数指的是只能被1和自身整除的正整数(不包括1)
from math import sqrt
su_lst = []
for num in range(2,100):
su_flag = True
num_sqrt = int(sqrt(num))
for i in range(2,num_sqrt+1):
if num%i==0:
su_flag = False
break
if su_flag:
su_lst.append(num)
print('100内的素数:')
print(su_lst)