一张数据表有三个字段,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))
运行结果:
原文:https://www.cnblogs.com/shujuxiong/p/9291871.html