用python输入输出函数,显示捐赠证书
时间: 2024-09-25 10:08:19 浏览: 33
在Python中,你可以使用内置的`input()`函数用于接收用户的输入,而`print()`函数则用于输出信息,包括创建并显示捐赠证书。下面是一个简单的例子,展示如何创建一个捐赠证书模板,并请求用户的信息填充:
```python
# 定义捐赠证书的基本结构
def create_donation_certificate(name, amount, date):
certificate = f"致{name}先生/女士:\n\n您于{date}慷慨捐赠人民币{amount}元。\n您的善举将被我们铭记,感谢您的支持!"
return certificate
# 请求用户输入
name = input("请输入捐赠人的姓名:")
amount = input("请输入捐赠金额:")
donation_date = input("请输入捐赠日期(格式:YYYY-MM-DD):")
# 创建并打印证书
certificate_text = create_donation_certificate(name, amount, donation_date)
print(certificate_text)
# 如果需要保存到文件,可以使用file.write()函数
# with open('donation_certificate.txt', 'w') as file:
# file.write(certificate_text)
相关问题
使用上下文管理器with open('2019Charity.csv','r',encoding='UTF-8') as f打开文件 使用列表推导式将文件读成二维列表,并去除列表索引为0的元素(文件标题行) ls=[line.strip().split(',') for line in f][1:] 输入n,根据n值构造分支结构 n为‘total’(不区分大小写),直接遍历列表ls,对其‘现金捐赠总额(万元)‘值(注意,列表中的值为字符串,累加时需转换为整数)进行累加。循环结束后,按要求格式输出累加结果(也可考虑使用推导式从ls中所有元素中提取‘现金捐赠总额(万元)‘值转换为整数,放入一个列表后,用sum求和)如果输入为1-100之间的排名编号(n.isdigit() and 1<=eval(n)<=100),遍历列表ls,若某元素的排名值等于输入n,则输出该元素所有信息(可考虑使用join函数处理)。注意,有并列排名时,所有排名相等的都要输出 如果输入为排行榜中企业总部(省份)的名称 先用集合推导式获取列表中所有的总部(省份)值去重后的结果({i[3] for i in ls}),然后判断输入是否在集合中 遍历列表ls,若某元素的总部(省份)等于输入n,则输出该元素的‘排名,姓名,企业简称,总部(省份)’信息(可考虑使用切片结合join函数处理) 如果非以上输入,输出’No Record‘
以下是代码实现:
```python
with open('2019Charity.csv','r',encoding='UTF-8') as f:
ls=[line.strip().split(',') for line in f][1:]
n = input("请输入查询条件:")
if n.lower() == 'total':
total_donation = sum(int(item[5]) for item in ls)
print('现金捐赠总额(万元)为:', total_donation)
elif n.isdigit() and 1 <= int(n) <= 100:
for item in ls:
if int(item[0]) == int(n):
print(','.join(item))
elif n in {item[3] for item in ls}:
for item in ls:
if item[3] == n:
print(','.join(item[:4]))
else:
print('No Record')
```
首先使用上下文管理器打开文件,将文件内容读入二维列表 `ls`。然后根据输入的 `n` 值进行不同的操作。如果 `n` 为 `total`,则遍历列表 `ls`,将每个元素中的 `现金捐赠总额(万元)` 字段转换为整数并累加,最后输出累加结果。如果 `n` 是一个排名编号,遍历列表 `ls`,找到排名值等于 `n` 的元素,并输出该元素的所有信息。如果 `n` 是一个总部(省份)名称,先使用集合推导式获取列表中所有的总部(省份)值去重后的结果,然后遍历列表 `ls`,找到总部(省份)等于 `n` 的元素,并输出该元素的排名、姓名、企业简称、总部(省份)信息。如果 `n` 不是以上情况,则输出 `No Record`。
打印蚂蚁森林植树证书,如下所示。 要求从键盘端输入能量数值、姓名、申请日期和地区,通过字符串格式化形 式输出(使用format 设定格式控制标记方式,不可直接在print中使用空格、 制表位等形式),输出如图所示内容。
要打印蚂蚁森林植树证书,首先需要了解输出的基本格式和需要输入的数据。根据您的要求,我会先描述一个基本的代码实现思路,然后提供一个示例格式化字符串。
思路:
1. 从键盘接收能量数值、姓名、申请日期和地区。
2. 使用字符串的format方法来进行格式化输出。
3. 确定输出的格式,比如证书的标题、各个字段的显示位置和对齐方式等。
示例代码(假设使用Python语言):
```python
# 假设输入通过input函数获得,实际情况可能需要使用其他方式获取输入,比如命令行参数或者文件读取
能量数值 = input("请输入能量数值:")
姓名 = input("请输入姓名:")
申请日期 = input("请输入申请日期:")
地区 = input("请输入地区:")
# 使用format进行字符串格式化
证书内容 = f"""
蚂蚁森林植树证书
尊敬的{姓名}:
您在蚂蚁森林的植树申请已成功!
申请日期:{申请日期}
种植地区:{地区}
您捐赠的能量数值为:{能量数值}kg
让我们共同为地球增添一份绿色!
"""
print(证书内容)
```
请根据您的具体需求和编程语言,适当调整上述示例代码。下面提供一个格式化输出的模板:
```python
# 格式化字符串模板
template = """
蚂蚁森林植树证书
尊敬的 {name}:
您在蚂蚁森林的植树申请已成功!
申请日期:{date}
种植地区:{region}
您捐赠的能量数值为:{energy}kg
让我们共同为地球增添一份绿色!
"""
# 假设已经获取了相应的输入
formatted_output = template.format(name=姓名, date=申请日期, region=地区, energy=能量数值)
# 打印输出
print(formatted_output)
```
阅读全文