用Python 创建一个工资结算程序,商量的报酬是第一天20元,第二天是第一天的2倍?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python 创建一个工资结算程序,商量的报酬是第一天20元,第二天是第一天的2倍?相关的知识,希望对你有一定的参考价值。

以此类推,请问第20天后,这个人一共能拿到多少多少钱?要求:使用递归函数完成,输出每天一共能拿到的钱数。

# -*- coding:utf-8 -*-


__author__ = 'Luo'


def salaryCalculate(day):

    if day == 1:

        print(u"第%d天工资为:%d"%(day,20))

        return 20

    salary = salaryCalculate(day-1)*2

    print(u"第%d天工资为:%d"%(day,salary))

    return salary


if __name__ == "__main__":

    salaryCalculate(20)

参考技术A

以上是程序

运行结果

参考技术B s=[]#工资列表

n=20#天数

sd=20#第一天工资

s.append(sd)

for i in range(1,20):

sd*=2

s.append(sd)

print(n,'天的工资结算过程是',s)

print(n,'天的累计工资是',sum(s),'元。')追答

for 以下两句缩进

参考技术C 一楼哥门没算共多少。。
我来写个不递归的吧,这个逻辑为什么一定要递归 。。为了递归而递归没意义啊
``` groovy
def a = 20L
def b = 0L
b += a
println "第1天,得$a,共$b"
for (int i in (1..20-1))
a = a * 2
b += a
println "第$i+1天,得$a,共$b"

```
参考技术D

python学习之工资结算

import os,re,sys

operation_lists = ‘‘‘
1.查询工资
2.修改工资
3.增加新员工记录
4.删除员工信息
5.退出
‘‘‘
user_dict = {}
user_name = []

def user_information():
with open(‘info.txt‘,‘r‘,encoding=‘UTF-8‘) as f :
f = f.readlines()
for i in f:
i = i.strip()
i = i.split()
global user_name
user_name.append(i[0])
user_dict[i[0]] = i[1]
print(user_name)

def operation():
while True:
print(operation_lists)
user_operation = input(‘请输入你的操作编号:‘)
if user_operation.isdigit():
user_operation = int(user_operation)
if user_operation > 5:
print(‘你在搞什么,不要乱搞‘)
if user_operation == 1:
user_enquires()
if user_operation == 2:
salary_change()
if user_operation == 3:
add_users()
if user_operation == 4:
del_users()
if user_operation == 5:
sys.exit(‘退出程序‘)
else:
print(‘不要搞事情‘)

def user_enquires():
user_information()
name_key = input(‘输入你想查询人员的名字:‘)
global user_dict
print(‘%s的工资为%s‘%(name_key,user_dict.get(name_key)))

def salary_change():
user_information()
name_key = input(‘输入你想改变人员工资的名字:‘)
print(‘%s的工资为%s‘ % (name_key, user_dict.get(name_key)))
salary_change = input(‘请输入该员工新的金额:‘)
if salary_change.isdigit():
salary_change = int(salary_change)

    with open(‘info.txt‘,‘r‘,encoding=‘UTF-8‘) as fa :
       lines = fa.readlines()
    with open(‘info.txt‘,‘w‘,encoding=‘UTF-8‘) as f_w:
        for line in lines:
            if name_key in line:
                name_salay = str(user_dict.get(name_key))
                print(name_salay)
                salary_change = str(salary_change)
                line = line.replace(name_salay,salary_change)
            f_w.write(line)
        user_dict[name_key] = salary_change
        print(user_dict)
else:
    print(‘能不能不搞事????‘)

def add_users():
user_information()
user_name = input(‘请输入你要添加人员的姓名:‘)
user_salary = input(‘请你给他开工资:‘)
if user_salary.isdigit():
user_salary = int(user_salary)
else:
print(‘能不能不搞事!!‘)
user_dict[user_name] = user_salary

def del_users():
user_information()
user_name = input(‘请输入你要删除员工的姓名:‘)
user_dict.pop(user_name)

operation()
#user_information()
#user_enquires()
#salary_change()
#add_users()

#user_information()

以上是关于用Python 创建一个工资结算程序,商量的报酬是第一天20元,第二天是第一天的2倍?的主要内容,如果未能解决你的问题,请参考以下文章

python学习之工资结算

春节三天法定假日是哪几天

python面向对象总结

岗位 工资和职位工资是否一样的

python编辑购物车

第18章 薪水支付案例研究:第一次迭代开始