python编程练习(二)

目录

1.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

2.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

3.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

4.打印输出标准水仙花数,输出这些水仙花数

5.求50~150之间的质数是那些?

6.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.

7.有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10, 8, 5, 3, 27, 99]

8. 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

9.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

10.将list中的重复数据去重,至少使用两种方案

11.两个列表进行合并操作

12.列表的反转 列表的排序

13.如何将0-10随机存入列表中


1.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

a = float(input("输入第一个数"))
b = float(input("输入第二个数"))
if b / a == 0 or a + b > 1000:
    print('%0.2f' % a)
else:
    print('%0.2f' % b)

 

2.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

num = int(input('请输入一个数:'))
if num % 2 == 0:
    print(f'{num}为偶数,从1到{num}是3的倍数有:')
    for x in range(1, num + 1):
        if x % 3 == 0:
            print(x)
else:
    print(f'{num}为奇数,从1到{num}是5的倍数有:')
    for x in range(1, num + 1):
        if x % 5 == 0:
            print(x)

 

3.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

a = int(input('输入头的数量'))
b = int(input('输入脚的数量'))
print('鸡的数量是', int(a-((b-2 * a) / 2)), '只')
print('兔的数量是', int((b - 2 * a) / 2), '只')

4.打印输出标准水仙花数,输出这些水仙花数

def num1():
    for num in range(100, 1000):
        a = num // 100
        b = num // 10 % 10
        c = num % 10
        if num == a ** 3 + b ** 3 + c ** 3:
            print("水仙花数为:%s" % num)


num1()

5.求50~150之间的质数是那些?

def a(num):
    for i in range(2, num // 2 + 1):
        if num % i == 0:
            return False
    return True


for i in range(50, 151):
    if a(i):
        print(f"{i}是质数")

6.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.

def num():
    for i in range(10000,100000):
       num1=i * 10 + 7
       num2=i + 700000
       if num2==5*num1:
           print(i)
num()
    

7.有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10, 8, 5, 3, 27, 99]

coin = [10, 8, 5, 3, 27, 99]
x = 0
for i in coin:
    if i % 2 == 0:
        x += i // 2
    else:
        x += i // 2 + 1

print(f'{x}')

8. 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

print('0到100以内的孪生数对有:')
m = 2
for num in range(3,100,2):
    for i in range(2,num//2 + 1):
        if num % i == 0:
            break
    else:
        if num - m == 2:
            print(f'{m},{num}')
        m = num

9.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

n = int(input('请您输入您想输入的数字个数:'))
ls = []
for i in range(1,n+1):
    num = float(input(f'请输入第{i}个数:'))
    ls.append(num)
print(f'您输入的数字有:{ls}')
 
ma = ls[0]
mi = ls[0]
su = 0
for i in ls:
    su = su + i
    if i > ma:
        ma = i
    elif i < mi:
        mi = i
print(f'这些数的最大值为:{ma}')
print(f'这些数的最小值为:{mi}')
print(f'这些数的和为:{su}')
print(f'这些数的平均值为:{su/n}')

10.将list中的重复数据去重,至少使用两种方案

ls = [1, 2, 3, 4, 4, 5, 6, 2, 3]
print(f'原列表为:{ls}')

# 方案一:set
ls = list(set(ls))
print(f'方案一去重后的列表为:{ls}')

# 方案二:遍历循环
ls1 = []
for n in ls:
    if n not in ls1:
        ls1.append(n)
ls = ls1
print(f'方案二去重后的列表为:{ls}')

11.两个列表进行合并操作

ls1 = [1,2,3]
ls2 = [4,5,6]
print(f'ls1:{ls1}')
print(f'ls2:{ls2}')
 
ls1.extend(ls2)
print(f'将ls2合并到ls1中:{ls1}')
ls1 = [1,2,3]
ls2.extend(ls1)
print(f'将ls1合并到ls2中:{ls2}')

12.列表的反转 列表的排序

ls = [1, 2, 4, 5, 3, 6]
print(f'ls:{ls}')

ls.reverse()
print(f'ls的反转:{ls}')

ls.sort()
print(f'ls的排序:{ls}')

13.如何将0-10随机存入列表中

import random
ls = []
while True:
    i = random.randint(0,10)
    if i not in ls:
        ls.append(i)
    if len(ls) == 11:
        break
print(f'ls = {ls}')

猜你喜欢

转载自blog.csdn.net/weixin_62304542/article/details/129719590