python质数,水仙花数,简单猜拳游戏等

zhglinux 2019-11-18

找到所有两位的奇妙数:奇妙数。即一个整数等于其各位数字之和加上各位数字之积 例如 39  = (3+9) + (3*9)

找到100以内所有的质数

要用户从键盘输入任意整数,计算该整数的偶数个数,奇数个数和总位数。将这三个数字拼接成一个新的数字,并在此按照此规律继续执行,最终显示出得到的内容为123。例如3252453467   ---   5510   ---   134   --   123

找到10000以内的所有自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身

制作一个和电脑玩的剪刀石头布游戏。

商店举办促销饮料活动,每三个瓶盖可以换一瓶饮料,并且手中只有两个瓶盖还可以向商店借一个,但必须归还。设计程序,能够计算顾客买饮料后,实际能够喝到多少瓶饮料。

完成一个扑克牌21点游戏。1)生成’♥A’这样的52张牌。没有大小王。2)游戏规则。一个玩家抽先抽两张牌,然后决定是否继续抽牌,输入no程序结束。牌点总和超过21点,游戏结束,玩家失败。程序能够自动计算当前玩家手中的点数。A为1点 。10,J,Q,K均为10点。

1.所有两位数的奇妙数

for i in range(10,100):     
            # 个位数     
            a = i % 10     
            # 十位数     
            b = i // 10     
            if i == (a + b) + a * b :         
                print(i)

2.找到100 以内的质数

# 到100以内所有的质数 
for i in range(1,100):     
    for j in range(2,i):         
        if not i % j :             
            break     
        else:         
            print(i)

3.

user_number = int(input('请输入一个整数:')) 
def result(number): 
    length = len(str(number)) 
    # 整数中偶数的个数 
    double = 0 
    for i in range(0,length): 
        temp = number // (10 ** i) 
        if temp % 2 == 0 : 
            double += 1 # 整数中奇数的个数 
            single = length - double 
            # 开始拼接another循环 
            another = double * 10 ** (len(str(single)) + len(str(length))) + single * 10 ** len(str(length)) + length 
            # 验证最后一次递归是否是123 
            if another == 123: 
            return 123 else: 
            return result(another) 
            # 调用自己定义的函数进行判断 
            caice = result(user_number) print(caice)

4.水仙花进阶版本----10000以内的自幂数

# 水仙花进阶版 
for i in range(1,10001):     
    ge = i % 10     
    shi = i % 100 // 10     
    bai = i // 100 % 10     
    qian = i // 1000 % 10     
    wan = i // 10000     
    length = len(str(i))     
    if ge ** length + shi ** length + bai ** length + qian ** length + wan ** length == i:         print(i)

剪刀石头布游戏简单版

import  random 
print('我们一起来玩石头剪刀布的游戏吧!') 
player = int(input('0:石头   1:剪刀   2:布\n请选择:')) 
dict = {0:'石头',1:'剪刀',2:'布'} 
computer = random.randint(0,2) 
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (computer==0 and player == 2):     
    print('玩家出的是%s 电脑出的是%s ,所以玩家获胜'%(dict[player],dict[computer])) 
elif player==computer:     
    print('玩家出的是%s 电脑出的是%s ,所以玩家和电脑打成平手'%(dict[player],dict[computer])) 
else:  
    print('玩家出的是%s 电脑出的是%s ,所以电脑获胜' % (dict[player], dict[computer]))

相关推荐