Python编程技术作业-2

这篇文章介绍了Python中的条件语句(如if-else,elif)和循环结构(for,while),包括它们的使用规则和常见问题。还讨论了函数的实现,如求和函数和递归的Fibonacci数列计算。此外,提供了几个编程题,涉及奖金计算、日期计算和温度转换等实际应用,旨在检验和提升读者的编程能力。
摘要由CSDN通过智能技术生成

单选题

1、执行下列Python语句将产生的结果是( )。C
x=2
y=2.0
if(x==y): print(“Equal”)
else: print(“No Equal”)
A.编译错误
B.运行时错误
C.Equal
D.Not Equal
2、python语言对嵌套if语句的规定是:else总是与 C
A 第一个if配对
B.其之前最近的if配对
C.缩进位置相同的if配对
D.其之前最近且尚未配对的if配对
3、Python过程化程序设计的三种基本程序控制结构是( ) 。A
A.顺序结构、选择结构、循环结构
B.输入、处理、输出
C.for、while、if
D.复合语句、基本语句、空语句
4、以下哪个关键字( )是用于给 if-else分支语句添加多个条件的? A
A. elif
B.else
C.else if
D.elseif

5、

score = int(input("请输入分数"))
if score > 60:
print("你考试及格了")
print("你的考试不及格")

希望通过此程序判断是否及格。以下描述错误的是: A
A.无论输入什么分数,输出结果都是
”你考试及格了“
”你的考试不及格“
B.如果希望达到程序效果,需要在if语句后,第3行代码需要缩进4个空格
C.此程序输入分数后,能正常判断并输出此人是否考试及格。
D.if判断后,无论是TRUE或FALSE,都没有子语句块需要执行,程序直接执行下一行。这个属于逻辑错误。

6、选出对下列语句不符合语法要求的表达式:B
for var in ____________ :
print var
A.(1,2,3)
B.{1,2,3,4,5}
C.“Hello”
D.range(0,10)

7、下列for循环执行后,输出结果的最后一行是 B

for i in range(1,3):
for j in range(2,5):
      print(i*j)

A.6
B.8
C.15
D.2

8、下面程序中语句print(i*j)共执行了___________________次。A

for i in  range(5):
       for j in range(2,5):
             print(i*j)

A.15
B.14
C.20
D.12

9、Python 中,for 和 while 可以有 else 语句? C
A.只有 for 才有 else 语句。
B.只有 while 才有 else 语句。
C.for 和 while 都可以有 else 语句。
D.for 和 while 都没有 else 语句。

10、求比10小且大于等于0的偶数,下列程序中空格处应填入()B

x = 10
while x:
    x = x-1
    if x%2!=0:
        ________   
    print (x)

A.break
B.continue
C.pass
D.False

函数题

6-1 python函数:求m到n之和

本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。

函数接口定义:
函数接口:
sum(m,n)
m<n,m和n可以是负数

裁判测试程序样例:

/* 请在这里填写答案 */
在这里给出函数被调用进行测试的例子。例如:

m=int(input())
n=int(input())
print(sum(m,n))

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

-1
5

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

14

代码实现:

def sum(m,n):
    sum=0
    for i in range(m,n+1):
        sum+=i
    return sum

6-2 python函数:递归求Fabonacci数列

本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:

f(n)=f(n−2)+f(n−1) (n≥3),其中f(1)=1,f(2)=1。

函数接口定义:
函数接口:
f(n)
函数f应返回第n个Fabonacci数。题目保证输入输出在整型范围内。建议用递归实现。

裁判测试程序样例:
/* 请在这里填写答案 */

在这里给出函数被调用进行测试的例子。例如:

n=int(input())
print(f(n))

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

6

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

8

代码实现:

def f(n):
    if(n==1):
        return 1
    if(n==2):
        return 1
    return f(n-1)+f(n-2)

编程题

7-1 企业根据利润提成发放奖金问题

企业根据利润提成发放奖金问题。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; 20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%; 高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数?

输入格式:
输入一个利润整数。例如:输入120000。

输出格式:
输出一个实数。例如:11500.0。

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

120000

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

11500.0

代码实现:

money=float(input())
if money<=100000:
    s=money*0.1
elif money<=200000:
    s=100000*0.1+(money-100000)*0.075
elif money<=400000:
    s=100000*0.1+100000*0.075+(money-200000)*0.05
elif money <= 600000:
    s = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (money - 400000) * 0.03
elif money <= 1000000:
    s = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (money - 600000) * 0.015
elif money > 1000000:
    s = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (money - 1000000) * 0.01
print(s)

7-2 计算某天距元旦的天数

输入年、月、日,要求输出该年份的元旦到该日期总共经过了多少天。(提示:闰年是指能被400 整除的年份或者能被4 整除但不能100 整除的年份)

输入格式:
输入n,代表接下来要输入n行的年、月、日。

然后输入n行年、月、日,年、月、日之间的元素以空格相分隔,第1个数据为年,第2个数据为月,第3个数据为日。

输出格式:
如果输入年月日正确,则输出:Totaldays=天数

如果输入年月日有错,则输出:ErrorInput

输入样例:

4
2000 13 10
2000 3 10
2012 3 10
2018 5 20

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

ErrorInput
Totaldays = 70
Totaldays = 70
Totaldays = 140

代码实现:

from datetime import datetime
n=eval(input())
for i in range(n):
    s=input()
    try:
      y,m,d=s.split(" ",2)
      y=eval(y)
      m=eval(m)
      d=eval(d)
      nowD=datetime(y,m,d)
    except:
       print("ErrorInput")
       continue
    startD=datetime(y,1,1)
    print("Totaldays =",(nowD-startD).days+1)

7-3 温度转换

温度刻画存在不同体系,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。华氏度以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。

根据华氏和摄氏温度定义,转换公式如下:

C = ( F – 32 ) / 1.8
F = C * 1.8 + 32

输入格式:
输入一个实数表示温度,后面的字母表示温度体系:F或f表示华氏温度,而C或c表示摄氏温度,实数与字母间无分隔符。

输出格式:
输出转换后的温度(保留两位小数,且后面有温度体系说明符,大写字母表示);若输入的数据格式有误(未有效标示温度体系),输出Error

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

36.8C

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

98.24F

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

10f

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

-12.22C

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

78.2#

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

Error

代码实现:

s=input()
if s[-1] in ['f','F']:
    c = (int(s[0:-1])-32) / 1.8
    print("{:.2f}C".format(c))
elif s[-1] in ['C', 'c']:
    F = 1.8 * eval(s[0:-1]) + 32
    print("{:.2f}F".format(F))
else:
    print("Error")

7-4 3,5,7的倍数判定

编程序实现功能:输入一个整数,判断其是否能同时被3、5、7整除。能被整除则输出“Yes”,否则, 输出“No”。

输入格式:
一个整数
输出格式:
Yes 或 No

输入样例:

7

输出样例:

No
a=eval(input())
if(a%3==0&a%5==0&a%7==0):
    print('Yes')
else:
    print('No')

7-5 计算分段函数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):
    y = 1/x
else:
    y = 0
print("f(",end='')
print(x,end='')
print(")=",end='')
print("{0:.3f}".format(y))

7-6 统计字符串中不同种类的字符个数

本题目要求读入一个字符串,统计字符串中字母、数字、空格、其它字符的个数。

输入格式:
输入一行由任意字符组成的字符串。
输出格式:
统计字符串中字母、数字、空格、其它字符的个数。
输入样例:

2a and Am3,MNak888!..

输出样例:

letters=10,digits=5,spaces=2,others=4

代码实现:

n=input()
a=b=c=d=0
for i in n:
    if ord('a')<=ord(i)<=ord('z') or ord('A')<=ord(i)<=ord('Z'):
        a=a+1
    elif ord('0')<=ord(i)<=ord('9'):
        b=b+1
    elif ord(i)==ord(' '):
        c=c+1
    else:
        d=d+1
print("letters={},digits={},spaces={},others={}".format(a,b,c,d))
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值