实验3 流程控制I 答案
Python语言程序设计基础
上海师范大学 通识教育必修课程
授课教师:吴春英 徐晓钟
题目来源:上海师范大学网络教学平台(超星泛雅)
I 实验要求
II 答案解析
实验1 利用范例1编程解二元一次方程组的问题解决百元买鸡问题。假定公鸡6元1只,母鸡5元1只,小鸡1元2只,现在有100元要买100只鸡,且需包含公鸡、母鸡和小鸡,编程列出所有可能的购鸡方案。掌握while和for循环的初始条件、变化条件和终止条件的含义及循环体语句块的编写,掌握缩进的使用。
答案
result={'rooster':0,'hen':0,'chick':0}
for rooster in range(1,98):
for hen in range(1,98):
for chick in range(1,98):
boolean_num = ( rooster + hen + chick == 100 )
boolean_price = ( 6 * rooster + 5 * hen + 1 / 2 * chick == 100 )
boolean= boolean_num and boolean_price
if boolean==True:
result['rooster']=rooster
result['hen']=hen
result['chick']=chick
print(result)
实验二 理解范例3的程序,然后将范例3的程序进行该写输出倒三角形的图形,并掌握for循环中range()迭代器的使用以及初始值、步长及结束值的含义。
答案
s=input('请输入任意几个数字')
s=s[::-1]
for i in range(len(s)-1,-1,-1):
line=(len(s)-i-1)*" "
print(line,end="")
print((s[i]+" ")*(i+1))
实验三 某商场6月份进行优惠促销活动。消费2000元以下金额(含2000元)没有折扣,消费2000以上到3000元金额(含3000元)之间可享八折优惠,消费3000以上可享七五折优惠,但折扣额1500元封顶。请编写程序实现输入消费金额,输出实际需要支付金额(保留2位小数,单位:元)。
提示:实际需要支付金额=消费金额-折扣金额
答案
price=eval(input("请输入消费金额:"))
if price<=2000:
price*=1
elif price<=3000:
if price * (1 - 0.8) <= 1500:
price *= 0.8
else:
price -= 1500
elif price>3000:
if price*(1-0.75)<=1500:
price*=0.75
else:
price-=1500
print("实际需要支付金额:{:.2f}元".format(price))
实验4 编写程序:求符合下列条件的所有三位数,百位数的立方加十位数的立方+个位数的立方等于这个三位数(如:13+53+3**3=153)
答案
for i in range(100,1000):
i_str=str(i)
boolean= eval(i_str[0])**3+eval(i_str[1])**3+eval(i_str[2])**3==i
if boolean==True:
print(i)