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点。
for i in range(10,100): # 个位数 a = i % 10 # 十位数 b = i // 10 if i == (a + b) + a * b : print(i)
# 到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)
# 水仙花进阶版 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]))