编程小问题

内容不分类,无顺序,持续更新

1. 倒序输出字符串:

str_1 = 'python3'
# 倒序输出
print(str_2[-1:-8:-1]): 
# -8:倒数字符串的结尾索引-1
print(str_2[-1::-1])
print(str_2[::-1])
# 结尾索引可以去掉

2. 随机取XXX

红球:3个 黄球:3个 蓝球:8个
随机取8个球,输出它们的组合和每个颜色的个数

all_ball = 8
# 随机抽取8个
for red in range(1,4):
    sum_1 = 0
    sum_1 = sum_1 + red
    for yellow in range(1,4):
        sum_2 = sum_1 + yellow
        blue = all_ball - sum_2
        print("red ball: {0}, yellow ball: {1}, blue ball: {2}".format(red,yellow,blue))

3. 数据库表查询

两个表:
A 表有6条记录,B表有4条记录
两表连接查询,结果为多少条记录:
6×4=24
左连接:Left join ——> 以左为准,总条目<=6
右连接:Right join ——> 以右为准,总条目<=4
内连接:inner join ——> 以完全匹配为准,总条目<=4

4. 给定一个字符串,请将其去重并升序排列

s=“aflihewgohrwoiaaoewoifeo23hoir32roi”

s = "aflihewgohrwoiaaoewoifeo23hoir32roi"
list_s = list(s)
list_s = sorted(set(list_s))
s = "".join(list_s)
print(s)

运行结果:

23aefghilorw

5. 生成列表:(列表生成式?)

给出列表 A=[“a”,“b”,“c”],生成列表:a=[],b=[],c=[]

6.

def s(str):
    li = []
    length = len(str)
    for i in range(length):
        tem = str[i]
        for j in range(i + 1, length):
            if str[j] not in tem:
                tem += str[j]
            else:
                break
        li.append(tem)
        li = sorted(li, key=lambda i: len(i))
        return li
aa = s("fwoiesfe")
print(aa)

输出结果:在这里插入图片描述

6. 会议室预定

要求,输入多个时间组,
会议时长较长的优先排,同时长的,时间早的优先排
最后输出预定安排

7. 交换两个变量的值

交换两个变量的值,变量可以是不同类型的数据,但是,
不可以使用其他临时变量

a = "hello kitty"
b = {"name" : "Runa", "age" : 23}
a, b = b, a
print(a)
print(b)

8. 输入一串数字,求其二进制中1的个数

a = input()
a=bin(int(a,10))
print(a)
list1=list(a)
n=0
for i in list1:
    if i=="1":
        n+=1
print(n)

输出效果:
输出效果

9. 给定一个数组,写一个函数将其所有值为0的元素都移动到数组的末端,但保证非0元素顺序不变

不可借助额外的数组
尽量是计算次数小

def resort_num(num):
    for i in range(len(num)):
        for j in range(i + 1, len(num)):
            if num[i] == 0 and num[j] != 0:
                num[i], num[j] = num[j], num[i]
    return num
# 调用
num = [0,5,0,12,3,0]
print(resort_num(num))

运行结果:

[5, 12, 3, 0, 0, 0]

10. 判断给定字符串是否符合括号的使用规则,可以包含()[]{}三种括号以及若干其他字符

这个题我是真不会,后来翻到一位大神的做法,亲测好使,直接上链接:
https://blog.csdn.net/Wang_Runlin/article/details/104770132

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值