一张数据表有三个字段,ID, gametime, coin,记录用户某次登录的持续时长,以及在此次登录中获得的金币总数,示例数据如下:
ID |
Gametime |
Coin |
1 |
3600 |
10 |
2 |
2400 |
20 |
1 |
1800 |
30 |
3 |
60 |
20 |
1、用sql语句获取每个用户登录持续时间最长的一次获得的金币量。
答:假设该表名为gametable,sql语句如下
select b.ID,a.Coin
from gametable a,
(select ID,max(Gametime) as Maxtime from gametable group by ID) b
where a.ID=b.ID and a.Gametime=b.Maxtime;
2、用任意语言编写一个函数,输入是一个整数,要求返回这个整数的逆序整数,例如输入1234,输出应该是4321
答:使用python代码实现整数逆序
def inverse_num(one_num):
if one_num==0:
return 0
else:
if one_num>0:
flag=True
else:
flag=False
one_num*=-1
one_num_list=list(str(one_num)) #将整数分解为字符列表
while one_num_list[-1]=='0':
one_num_list.pop()
tmp=''.join(one_num_list[::-1]) #将字符列表逆序再组合为字符串
if flag:
return int(tmp) #将字符串转换为整数
else:
return int('-'+tmp) #同上
##测试用例
if __name__ == '__main__':
one_num_list = [1234,-1234,1200,0]
for one_num in one_num_list:
print(one_num,inverse_num(one_num))
运行结果:
3、请使用python语言完成以下编程问题,程序接受一个整数n输入,输出为一个n层的金字塔图形
如n=2时输出
*
***
如n=3时输出
*
***
*****
请使用最简洁的python代码完成
答:python代码如下:
def prtstar(n):
for i in range(1,n+1):
print(' '*(n-i) + '*'*(2*i-1))
运行结果:
所有评论(0)