第一次考试习题整理

考试整理

  • 第一题 :从集合 numSet = {1,9,15,60,77,21,18,6,-5,-21} 中随机取数,要求取到的数字可以被 3 整除,但是不能被5整除,一共取 8 个这样的数字。1.请分别打印出这 8 个数字; 2.请打印出这 8 个数字的和。
import random
def num_set(n_set):
    sum_n=0
    count=0
    while count!=8:
        num=random.sample(n_set,1)
        if num[0]%3==0 and num[0]%5!=0:
            print('第{}个数是{}'.format(count+1,num[0]))
            sum_n+=num[0]
            count+=1
    return '8个数的集合是{}'.format(sum_n)
    
numSet = {1,9,15,60,77,21,18,6,-5,-21}
print(num_set(numSet))
import random
nums=[random.randint(1,100)for i in range(20)]
print(nums)
def buffble_sort():
    for i in range(len(nums)):
        flag =True
        for j in range(len(nums)-1):
            if nums[j]>nums[j+1]:
                nums[j],nums[j+1]=nums[j+1],nums[j]
                flag =False
        if flag:
            return nums
    return nums

def selection_sort():
    for i in range(len(nums)):
        min=i
        for j in range(i+1,len(nums)):
            if nums[min]>nums[j]:
                    min = j
        if min !=i:
            nums[min],nums[i]=nums[i],nums[min]
    return nums


print(buffble_sort())
print(selection_sort())
  • 第四题
    请生成6个ID字符串,格式为 随机3个小写字母 . 随机4个大写字母 . 随机5个数字字符
import random  
print(['{}.{}.{}'.format(''.join([chr(random.randint(97,122)) for i in range(3)]),''.join([chr(random.randint(65,90)) for i in range(4)]),''.join([str(random.randint(0,9))for i in range(5)]))for i in range(6)])
  • 第五题
    输入一个整数,判断奇偶 输出成十字架格式
def nums(num):
    num1=num//2+1
    num2 = num//2
    per=num//2+1
    for i in range(1,num+1):
        for j in range(1,num+1):
            if num%2==0:
                if i==num1-1 or i==num1:
                    print('{:>2}'.format(num),end='')

                elif j==num1 :
                    print('{}{:>{}}{:>2}'.format(' '*num2,num,per-1,num),end='')
            else:
                if i==num1:
                    print('{:>2}'.format(num),end='')
                
                elif j==num1 :
                    print('{}{:>{}}'.format(' '*num2,num,per+1),end='')
        print()
            
    

print(nums(2))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值