编写程序,在某次Python程序设计课程测试中,测试满分100分,判断题,1题分值1分,选择题,单选题1题分值2分,多选题1题分值3分,程序编写题,1题分值10分。请问老师可以如何出题,判断题、单选题、多选题、程序编写题各可以出多少道题?
编写程序,在某次Python程序设计课程测试中,测试满分100分,判断题,1题分值1分,选择题,单选题1题分值2分,多选题1题分值3分,程序编写题,1题分值10分。如果判断题的题量为10题、程序编写题的题量为5题,单选题、多选题各可以出多少道题?
问题1
# 四层循环
num = 1 # 用于计算有多少种方案
count = 0 # 用于计算循环的次数
for a in range(0, 101):
for b in range(0, 101):
for c in range(0, 101):
for d in range(0, 101):
count += 1
if a + b*2 + 3*c + d*10 == 100:
print(f'a有{a},b有{b},c有{c},d有{d}')
num += 1
print(num)
print(count)
问题2
# 四层循环
num = 1 # 用于计算有多少种方案
count = 0 # 用于计算循环的次数
for a in range(0, 101):
for b in range(0, 101):
for c in range(0, 101):
for d in range(0, 101):
count += 1
if a + b*2 + 3*c + d*10 == 100 and a==10 and d==5:
print(f'a有{a},b有{b},c有{c},d有{d}')
num += 1
print(num)
print(count)
如有帮助,望采纳,谢谢
第一题:
num = 0
for i in range(0, 100+1):
for j in range(0, int(100/2+1)):
for k in range(0, int(100/3+1)):
for l in range(0, int(100/10+1)):
if i+2*j+3*k+10*l==100:
num += 1
#print('判断题、单选题、多选题、程序编写题各可以是{0}、{1}、{2}、{3}道题'.format(i,j,k,l))
print(num)
建议这样写,运行时间短,计算量较小
第二题:
i = 10
l = 5
num = 0
score = 100 - 10- 5*10
for j in range(0, int(score/2)+1):
for k in range(0, int(score/3)+1):
if 2*j+3*k==score:
num += 1
print('判断题、单选题、多选题、程序编写题各可以是{0}、{1}、{2}、{3}道题'.format(i,j,k,l))
print(num)
两个程序的num都是方案数量
这情况就很多了。你需要列举?
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632