python第三周作业

目录

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

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

​3.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

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

​5.猜拳游戏:石头、剪刀、布的游戏

​6. 判断以下哪些不能作为标识符( B D F )

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

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

9.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除

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

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

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

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

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

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

16.使用列表判断一个列表是否在另外一个列表中

​17.列表的反转 

​18.列表的排序

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

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

a,b = eval(input("请输入两个数a,b:"))
if a % b == 0 or a + b > 1000:
    print(a)
else:
    print(b)

python第三周作业_第1张图片

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

num = int(input("请输入一个整数:"))

if num & 1 ==0:
	list1 = []
	for i in range(1,num+1):
		if i % 3 == 0:
			list1.append(i)
	print(f"{num}是偶数,从1到{num}之间是3的倍数的有{list1}")
else:
	list2 = []
	for i in range(1,num+1):
		if i % 5 == 0:
			list2.append(i)
	print(f"{num}是奇数,从1到{num}之间是5的倍数的有{list2}")

3.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

a,b = eval(input("请输入T恤和裤子的数量:"))

if a == 2:
	price_a = 35 * a * 0.9
elif a >= 3:
	price_a = 35 * a * 0.8
else:
	price_a = 35 * a 

if b >= 2:
	price_b = 120 * b * 0.9
else:
	price_b = 120 * b

money = price_a + price_b

print(f"应该支付{money}元")

python第三周作业_第2张图片4.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

a,b = eval(input("请输入头和脚的数量:"))

for rabbit in range(1,a+1):
	chicken = a - rabbit
	if rabbit + chicken == a and 4 * rabbit + 2 * chicken == b:
		print(f"有{rabbit}只兔子,{chicken}只鸡")

python第三周作业_第3张图片5.猜拳游戏:石头、剪刀、布的游戏

import random

player = int(input("请输入您的选择(1.石头 2.剪刀 3.布):"))
computer = random.randint(1,3)

print(f"{computer}")
if player == 1:
	if computer == 1:
		print("平手")
	elif computer == 2:
		print("玩家赢")
	else:
		print("玩家输")
elif player == 2:
	if computer == 1:
		print("玩家输")
	elif computer == 2:
		print("平手")
	else:
		print("玩家赢")
elif player == 3:
	if computer == 1:
		print("玩家赢")
	elif computer == 2:
		print("玩家输")
	else:
		print("平手")

python第三周作业_第4张图片6. 判断以下哪些不能作为标识符( B D F )

A、a
B、¥a               ¥不是有效符号
C、_12
D、$a@12          $、@不是有效符号                
E、false              
F、False             关键字

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

list1 = [] 
for i in range(50,151):
	flag = True
	
	for j in range(2,i // 2 + 1):    
		if i % j == 0:        			       
			flag = False
			break
	if flag:
		list1.append(i)        
print(f"50~150之间的质数是{list1}")

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

水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身

list1 = []
for i in range(100,1000):
	a = i // 100
	b = i // 10 % 10
	c = i % 10
	if a ** 3 + b ** 3 + c ** 3 == i:
		list1.append(i) 
print(f"标准水仙花数有:{list1}")

9.验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除

flag = True
for i in range(10,100):
	i_g = i % 10
	i_s = i // 10
	if (i - (i_g + i_s)) % 9 != 0:
		flag = False
		break
for i in range(100,1000):
	i_g = i % 10
	i_s = i // 10 % 10
	i_b = i // 100
	if (i - (i_g + i_s + i_b)) % 9 != 0:
		flag = False
		break
if flag:
	print("验证成功!")
else:
	print("验证失败!")

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

for i in range(10000,100000):
 	A = i * 10 + 7
 	B = 7 * 100000 + i
 	if B == A * 5:
 		print(f"{i}")

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

coin = [10,8,5,3,27,99]
times = 0
for i in coin:
	if i & 1 == 0:
		times += i / 2
	else:
		times += i // 2 + 1
print(f"最少需要{times}次")

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

list1 = [] 
for i in range(1,101):
	flag = True	
	for j in range(2,i // 2 + 1):    
		if i % j == 0:        			       
			flag = False
			break
	if flag:
		list1.append(i)        
print(f"50~150之间的素数是{list1}")

index = 1
while index < len(list1):
	if list1[index] - list1[index - 1] == 2:
		print(f"{list1[index]}和{list1[index - 1]}是孪生素数") 
	index += 1

python第三周作业_第5张图片13.给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

ls = eval(input("请输入一个列表:"))
for i in range(len(ls) - 1):
    for j in range(len(ls) - 1 - i):
        if ls[j] > ls[j + 1]:
        	ls[j], ls[j + 1] = ls[j + 1], ls[j]

max_num = ls[len(ls)-1]
min_num = ls[0]

sum_num = 0
for i in ls:
    sum_num += i

average_num = sum_num / len(ls)

print(f"该列表的最大值为{max_num}")
print(f"该列表的最小值为{min_num}")
print(f"该列表的和为{sum_num}")
print(f"该列表的平均值为{average_num}")

python第三周作业_第6张图片14.将list中的重复数据去重,至少使用两种方案

#方法一:
ls = eval(input("请输入一个列表:"))
new_ls = []
for i in ls:
	if i not in new_ls:
		new_ls.append(i)
print(f"去重后的列表:{new_ls}")

#方法二:
ls = eval(input("请输入一个列表:"))
ls = list(set(ls))
print(ls)

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

ls1 = eval(input("请输入第一个列表:"))
ls2 = eval(input("请输入第二个列表:"))
ls1.extend(ls2)
print(f"合并后:{ls1}")

16.使用列表判断一个列表是否在另外一个列表中

ls1 = eval(input("请输入第一个列表:"))
ls2 = eval(input("请输入第二个列表:"))

for i in ls1:
    if i in ls2:
        ls2.remove(i)

if ls2 == []:
    print("ls2列表在ls1列表中")
else:
    print("ls2列表不在ls1列表中")

17.列表的反转 

ls = eval(input("请输入一个列表:"))

ls.reverse()
print(f"列表反转后:{ls}")

18.列表的排序

#正序
ls = eval(input("请输入一个列表:"))

ls.sort()
print(f"列表排序后:{ls}")

#倒序
ls = eval(input("请输入一个列表:"))

ls.sort(reverse=True)
print(f"列表排序后:{ls}")

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

import random
ls = []
for i in range(10):
    ls.append(random.randint(0, 10))
print(ls)

python第三周作业_第7张图片

你可能感兴趣的:(python,开发语言)