"""
轮盘分为3部分:一等奖 二等奖 三等奖
轮盘转的时候是随机的
如果范围在[0~0.08)之间,一等奖
如果范围在[0.08~0.3)之间,二等奖
如果范围在[0~1.0)之间,一等奖
模拟本活动需要1000人参加,模拟游戏时需要准备的各级奖品的个数
"""
import random
Reward_Dict = {
'一等奖':(0,0.08),
'二等奖':(0.08,0.30),
'三等奖':(0,1.00),
}
def Reward_fun():
a = random.random()
for k,v in Reward_Dict.items():
if v[0] <= a <= v[1]:
return k
Result_Dict = {} //定义一个空字典,用来存储最终数据
for i in range(1000):
b = Reward_fun() //b是函数的返回值(Reward_Dict 的key,表示几等奖)
if b not in Result_Dict:
Result_Dict[b] = 1
else:
Result_Dict[b] += 1
for k,v in Result_Dict.items(): //枚举
print(k,v)
"""
腾讯笔试编程题
题目要求:
对于一个十进制的正整数,定义f(n)为其各位数字的平方和,如:
f(13) = 1**2 + 3**2 = 10
f(207) = 2**2 + 0**2 + 7**2 = 53
下面给出3个正整数:k,a,b
你需要计算有多少个正整数n满足a<=n<=b,且k*f(n)=n
输入:
第一行包括3个正整数,k,a,b,k>=1,a,b<=10**18,a<=b
输出:
输出对应的答案
范例:
输入: 51 5000 10000
输出:3
"""
import random
print(random.random())
def f(n):
n = str(n)
sum = 0
for item in n:
sum += int(item) ** 2
return sum
#1.接收变量
s = input()
#2.存储整形k,a,b
li = []
for item in s.split():
li.append(int(item))
k,a,b = li
#3.判断是否满足条件
count = 0
for i in range(a,b+1):
if k * f(i) == i:
count += 1
print(count)
输出卡号和密码信息, 格式如下:
卡号 密码
6102009001 000000
#生成100个卡号
kahao = []
for i in range(1,101):
kahao.append('6102009%03d' %(i+1))
result_dict = {}.fromkeys(kahao,'readhat') //所有卡号的密码都为redhat
print('卡号 密码')
for k,v in result_dict.items():
print(k,' ',v)