Python流程控制

43 篇文章 3 订阅
6 篇文章 0 订阅

7-1 春夏秋冬 (10 分)

气象意义上,通常以阳历3~5月为春季(spring),6~8月为夏季(summer),9~11月为秋季(autumn),12月~来年2月为冬季(winter)。请根据输入公历的年份以及月份,输出对应的季节。

输入格式:

输入的数据格式是固定的YYYYMM的形式,即:年份占4个数位,月份占2个数位,且没有不合理的输入,如2017!@#$%13^&*之类的形式。

输出格式:

输出月份对应的季节(用英文单词表示,全部用小写字母)。

样例1">输入样例1:

201901

输出样例1:

winter

输入样例2:

201807

输出样例2:

summer
m = input()
a = int(m[4:6])
if a>=1 and a<=2 or a==12:
    print("winter")
elif a>=3 and a<=5:
    print("spring")
elif a>=6 and a<=8:
    print("summer")
elif a>=9 and a<=11:
    print("autumn")

7-2 计算阶乘 (9 分)

输入一个非负整数n,计算其阶乘。其定义为: n!={1ifn=0n×(n−1)×(n−2)×...×2×1ifn>0​

输入格式:

输入一个整数n

输出格式:

输出n的阶乘

输入样例1:

在这里给出一组输入。例如:

0

输出样例1:

在这里给出相应的输出。例如:

1

输入样例2:

在这里给出一组输入。例如:

3

输出样例2:

在这里给出相应的输出。例如:

6

输入样例3:

在这里给出一组输入。例如:

5

输出样例3:

在这里给出相应的输出。例如:

120
n = int(input())
def m(n):
    if n<=1:
        return 1
    else:
        return n*m(n-1)
print(m(n))

7-3 计算分段函数f(x)的值 (6 分)

计算下列分段函数f(x)的值:

输入格式:

输入在一行中给出实数x。

输出格式:

在一行中按“f(x)=result”的格式输出,其中result都保留三位小数(提示:使用.format()函数)。

输入样例1:

12.34

输出样例1:

f(12.34)=0.081

输入样例2:

0

输出样例2:

f(0.0)=0.000
x = float(input())
if x==0:
    print("f(0.0)=0.000")
else:
    print("f({})={:.3f}".format(x,1/x))

7-4 逢七拍手游戏 (8 分)

逢七拍手游戏规则是:从1 开始顺序数数,数到有包含有7或者7的倍数的时候拍手。编写程序实现逢七拍手游戏,输入整数n ,输出 n 以内(包含n)的需要拍手的数字,数字之间用1个空格分隔。

输入格式:

输入 一个整数

输出格式:

输出满足条件的所以数据,用空格分隔

输入样例:

30

输出样例:

7 14 17 21 27 28 
n = int(input())
for i in range(1,n):
    if i%7==0 or '7' in str(i):
        print(i,end=" ")

7-5 求某一范围内的水仙花数 (6 分)

求某一范围[n,m]内所有的水仙花数。

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

输入格式:

在一行输入两个数

输出格式:

要求每行输出一个满足条件的数

输入样例:

在这里给出一组输入。例如:

5 1000

输出样例:

在这里给出相应的输出。例如:

153
370
371
407
n,m=map(int,input().split())
for i in range(n,m+1):
    sum = 0
    p = str(i)
    for x in p:
      sum += int(x)**3
    if sum == i:
      print(i)

7-6 简单循环打印数字金字塔 (8 分)

本题目要求读入一个正整数n(n<10),然后输出n层的数字金字塔。具体格式参见输出样例,注意每行数字末尾无空白符,而某些行的数字前面按规律有英文空格符:

输入格式:

输入一个正整数n(n<10)。

输出格式:

输出n层的数字金字塔。

输入样例:

在这里给出一组输入。例如:

6

输出样例:

在这里给出相应的输出。例如:

     1
    222
   33333
  4444444
 555555555
66666666666
n = int(input())
for i in range(1,n+1):
    for j in range(n-i):
        print(end=" ")
    for j in range(2*i-1):
        print(i,end="")
    print("")

7-7 折纸问题 (10 分)

一张纸厚0.2mm, 问至少对折多少次后,纸的厚度超过珠穆朗玛峰(8848m)

输出格式:

折叠次数=26 折叠后厚度=13421.77

输入样例:


输出样例:

在这里给出相应的输出。例如:

折叠次数=26
折叠后厚度=13421.77
n = 0.2
count = 0
while(n<=8848000):
    n*=2
    count+=1
print("折叠次数={}\n折叠后厚度={:.2f}".format(count,n/1000))

7-8 jmu-python-异常-学生成绩处理中级版 (15 分)

小明在帮老师处理数据,这些数据的第一行是n,代表有n行整数成绩需要统计。
接着连续输入n个成绩,如果中途输入错误(非整数)提示'Error! Reinput',
并输出错误的数据。然后重新输入,直到输入n个正确的成绩才退出。如果整个
输入过程中没有错误数据,提示'All OK'。最后输出所有学生的平均值,保留两
位小 数。

注:该程序可以适当处理小错误,比如对于有些数据如果左右包含空格,先去掉
空格再行处理。

输入格式:

第一行为n,代表接下来要输入的正确行数。
然后输入成绩,输入错误则提示重输,直到输入n行正确的数据为止。

输出格式:

如果输入过程中无异常,需输出All OK

输入样例1:

3
1
  2   
    3   

输出样例1:

All OK
avg grade = 2.00

输入样例2:

3
1
#
b
2
3

输出样例2:

Error for data #! Reinput
Error for data b! Reinput
avg grade = 2.00
n = int(input())
cnt = n
s = 0
judge = True
while cnt > 0:
    try:
        x = input()
        x = int(x)
        s += x
        cnt -= 1
    except:
        print('Error for data {}! Reinput'.format(x))
        judge = False
        continue
if judge:
    print('All OK')
print('avg grade = {:.2f}'.format(s/n))

7-9 JMU-Python-分段函数 (20 分)

本题目要求根据以下分段函数的定义,计算输入的x对应的y值,输出结果保留两位小数;如果输入的x是非数值型数据,输出'Input Error'。注意:使用math库

输入格式:

在一行中输入x的值。

输出格式:

按“f(x) = result”的格式输出,其中x与result都保留两位小数,注意'='两边有空格。

如果输入的x是非数值型数据,输出:Input Error

输入样例1:

4

输出样例1:

f(4.00) = 3.39

输入样例2:

-6

输出样例2:

f(-6.00) = 0.00

输入样例3:

x

输出样例3:

Input Error
import math
try:
    x = eval(input())
    if x <= 0:
        y = 0
    else:
        y = math.log(x) + math.sqrt(x)
    print("f({:.2f}) = {:.2f}".format(x,y))
except:
    print("Input Error")
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小浪浪、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值