Python实验六

程序片段编程题

1. 题库:列表元素循环右移一位
【问题描述】

   以下列表里所有元素循环右移一位。请补充函数体。

【输入形式】

   输入列表的元素,以逗号隔开

【输出形式】

  循环右移一位后的列表

【样例输入】

  1,2,3,4,5

【样例输出】

  ['5', '1', '2', '3', '4']

【样例说明】

  因为样例是通过键盘输入的,所有元素均为字符串形式。

【评分标准】

  3个样例
def  shift(lst):
    lst.insert(0,lst.pop())
    return lst

list1  =  input().split(",")  #输入格式  1,2,3,4,5
shift(list1)
print(list1)

2. 题库:本金与年利率
【问题描述】李先生有本金N元(N>=10000)存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算M年后,获得的本金是多少?

【输入形式】输入一行,内容为以空格分隔的两个正整数N和M。

【输出形式】输出李先生所获得的本金,结果保留小数点后四位。

【样例输入】10000 5

【样例输出】10150.9027

【样例说明】
【评分标准】

def  main():
        N,M  =  map(int,input().split())
        calculate_capital(N,M)
def calculate_capital(N,M):
        p=N*(1+0.003)**M
        print('%.4f'%p)
main()

3. 题库:卖西瓜
【问题描述】农夫有N(N大于0)个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

【输入形式】输入一个正整数N,表示农夫拥有的西瓜数。

【输出形式】输出一个整数,表示农夫卖完全部瓜所需要的天数。

【样例输入】10

【样例输出】2

【样例说明】农夫有10个瓜,第一天卖出(5+2)个,剩余3个;第二天卖出(1+2)个,剩余0个。注:农夫只卖整瓜!
【评分标准】

def  main():
        total_count  =  int(input())
        calculate_days(total_count)
def calculate_days(total_count):
    a=0
    while total_count>0:
        total_count=total_count/2-2
        a+=1
    print(a)
main()

4. 题库:多项求和
【问题描述】求s=a+aa+aaa+aaaa+aaaaa+aa…a的值,其中a是一个数字,表示s由几个数相加。例如当a=3时,s等于三个数相加的和,即s=3+33+333=369。

【输入形式】从键盘输入一个正整数a。

【输出形式】输出此时s的值。

【样例输入】3

【样例输出】369

【样例说明】
【评分标准】

def  main():
        a=int(input())
        calculate_sum(a)
def calculate_sum(a):
    s=0
    n=0
    m=a
    while n < a :
        s += m * a * 10**n
        n += 1
        m -= 1
    print(s)

main()

5. 题库:计算e
【问题描述】编写程序使用下列公式计算e。e=1+1/1!+1/2!+1/3!+…+1/n!

【输入形式】输入一个正整数n。

【输出形式】输出对应的e的值,结果保留小数点后六位有效数字

【样例输入】10

【样例输出】2.718282

【样例说明】
【评分标准】

def  main():
        num  =  eval(input())
        calculate_e(num)
def calculate_e(num):
    e=1
    
    for x in range(num):
        m=1
        for y in range(x+1):
            m*=y+1
        e+=1/m
    print('%.6f'%e)

main()

6. 题库:偶数和
【问题描述】编程实现:从 0 开始到 n(n>0,包括n) 以内的所有偶数之和
【输入形式】输入一个正整数n
【输出形式】结果以整数形式输出
【样例输入】10
【样例输出】30

n=eval(input())
h1=0
for  
x in range(n+1):
	if  x%2==0:                        
		h1+=x
print(h1)

7. 题库:整数的各位数字之和
【问题描述】输入一个整数,求该整数的各位数之和
【输入形式】
【输出形式】
【样例输入】123
【样例输出】6
【样例说明】
【评分标准】

n=eval(input())
sum1=0
while n>0:
	sum1+=n%10
	n=int(n/10)
print(sum1)

8. 题库:是否包含数字5
【问题描述】输入一个整数,求该整数上的各位数是否包含数字5,若有,则按从低到高的顺序输出第几位,若没有则输出-1

【输入形式】
【输出形式】每一行代表包含数字5的位数
【样例输入】

1223
【样例输出】

-1

【样例输入】

125
【样例输出】

1

【样例输入】

525
【样例输出】

1

3

【样例说明】
【评分标准】

n=int(input())
j=1
b=-1
flag=False
while  n>0:
    if  n%10==5:
        print(j)
        flag=1 
    n=n//10
    j+=1
if  
flag==False:
    print(b)

9. 题库:二月的天数
二月通常有28天,但如果是闰年,二月就有29天。 请编写一个程序,根据用户输入的年份计算当年2月的天数并输出,其中,判断闰年请用自定义函数实现。 提示:能被400整除的是闰年,能被4整除但是不能被100整除的也是闰年

【输入形式】

整数(代表年份)

【输出形式】

In 【年份】 February has [29 or 28] days.

【样例输入】

2021

【样例输出】

In 2021 February has 28 days.

【样例说明】

【评分标准】

通过测试数据

def  leapyear(x):
      if x%400==0 or (x%4==0 and x%100!=0):
        return 1
      else:
        return 0
year=int(input())
if  leapyear(year):
        print("In  %d  February  has  29  days."%year)
else:
        print("In  %d  February  has  28  days."%year)

10. 题库:计算个人所得税和工资
【问题描述】

应纳个人所得税税额= 应纳税所得额× 适用税率- 速算扣除数

扣除标准5000元/月(2019年1月1日起正式执行)(工资、薪金所得适用)

个税免征额5000元  (工资薪金所得适用)

级数全年应纳税所得额 税率(%)速算扣除数

1不超过36,000元 3 0

2超过36,000元至144,000元的部分 10 2,520

3超过144,000元至300,000元的部分 20 16,920

4超过300,000元至420,000元的部分 25 31,920

5超过420,000元至660,000元的部分 30 52,920

6超过660,000元至960,000元的部分 35 85,920

7超过960,000元的部分 45 181,920

输入一个人年薪,根据公式,计算出个人所得税,以及税后年薪

【输入形式】

年薪
【输出形式】

个人所得税

税后年薪

【样例输入】
180000

【样例输出】

9480.00

170520.00

【样例说明】
【评分标准】

通过测试数据

salary  =  float(input())
tax  =  0.0
salary  -=  5000*12
if  salary  <=  0:
        tax  =  0.0
elif  salary  <=  36000:
        tax  =  salary  *  0.03
elif  salary  <=  144000:
        tax  =  salary  *  0.1  -  2520
elif  salary  <=  300000:
      	tax  =  salary  *  0.2  -  16920

elif  salary  <=  420000:
        tax  =  salary  *  0.25  -  31920
elif  salary  <=  660000:
        tax  =  salary  *  0.3  -  52920
elif  salary  <=  960000:
        tax  =  salary  *  0.35  -  85920
else:
        tax  =  sala
### Python 实验 编程 山东科技大学 (SDUT) 课程资料 对于山东科技大学 (SDUT) 的Python实验编程内容或作业要求,虽然具体细节未直接提及于提供的参考资料中,但从以往的实验模式可以推测出一般性的实验主题和可能涉及的内容。 #### 可能的主题方向 1. **面向对象编程** 面向对象编程(OOP)是Python中的一个重要概念。通过定义类(Class),创建实例化对象(Object),以及理解继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)[^1]等特性来完成特定的任务。 2. **异常处理机制** 学习如何利用try-except语句捕获并处理运行时错误,确保程序能够更加健壮地应对各种意外情况的发生。 3. **文件操作与数据持久化** 掌握打开(open)、读取(read/write)关闭(close)文件的方法;了解JSON、CSV等常见格式的数据解析方法,实现简单的数据存储功能。 4. **网络爬虫入门** 利用requests库获取网页源码,BeautifulSoup或者lxml库解析HTML文档结构,提取所需信息,初步构建小型Web Spider应用。 5. **图形界面开发** 使用tkinter或其他GUI框架快速搭建桌面应用程序原型,熟悉事件驱动模型下的交互逻辑编写方式。 ```python import tkinter as tk def on_click(): label.config(text="Button Clicked") window = tk.Tk() button = tk.Button(window, text='Click Me', command=on_click) label = tk.Label(window) button.pack() label.pack() window.mainloop() ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

谭你一个脑瓜崩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值