请编写程序满足以下功能: (1)请用户在控制台输入一个身份证号; (2)如果用户输入的身份证号长度不为18,请输出“身份证号有误”; (3)如果身份证号长度为18,则输出该身份证号对应的年龄(虚岁)。
时间: 2023-05-23 07:04:07 浏览: 40
以下是符合要求的Python代码:
```
import datetime
id_num = input("请输入身份证号:")
if len(id_num) != 18:
print("身份证号有误")
else:
birth_year = int(id_num[6:10])
birth_month = int(id_num[10:12])
birth_day = int(id_num[12:14])
today = datetime.date.today()
age = today.year - birth_year - ((today.month, today.day) < (birth_month, birth_day))
print(f"该身份证号对应的年龄为{age}岁")
```
这个程序首先输入身份证号,然后判断它是否符合18位的标准。如果不符合,就输出字符串“身份证号有误”,否则就提取出生年月日,通过计算当前日期与出生日期的年龄差来得出年龄。最后输出一个包含年龄的字符串。
相关问题
微信小程序文本框有姓名,单位,职务,身份证号,手机号绑定值,点击确认控制台输出信息。代码演示
这里是一个微信小程序文本框的示例代码,包含了姓名、单位、职务、身份证号、手机号五个绑定值。用户在文本框中输入完毕后点击确认按钮,控制台会输出用户的信息。请注意,这里的输出方式只是为了演示方便,实际应用时需要根据需求进行相应的处理。
```
<view class="container">
<view class="form-item">
<text class="label">姓名:</text>
<input class="input" type="text" placeholder="请输入姓名" bindinput="bindNameInput" value="{{name}}"/>
</view>
<view class="form-item">
<text class="label">单位:</text>
<input class="input" type="text" placeholder="请输入单位" bindinput="bindCompanyInput" value="{{company}}"/>
</view>
<view class="form-item">
<text class="label">职务:</text>
<input class="input" type="text" placeholder="请输入职务" bindinput="bindJobInput" value="{{job}}"/>
</view>
<view class="form-item">
<text class="label">身份证号:</text>
<input class="input" type="text" placeholder="请输入身份证号" bindinput="bindIdInput" value="{{id}}"/>
</view>
<view class="form-item">
<text class="label">手机号:</text>
<input class="input" type="text" placeholder="请输入手机号" bindinput="bindPhoneInput" value="{{phone}}"/>
</view>
<view class="form-item">
<button class="btn" type="primary" bindtap="submitForm">确认</button>
</view>
</view>
```
在 js 文件中,我们需要定义五个变量来保存用户输入的信息:
```
data: {
name: '', // 姓名
company: '', // 单位
job: '', // 职务
id: '', // 身份证号
phone: '', // 手机号
}
```
同时,我们还需要编写五个事件处理函数,用于将用户输入的值绑定到相应的变量上:
```
bindNameInput: function (e) {
this.setData({
name: e.detail.value
})
},
bindCompanyInput: function (e) {
this.setData({
company: e.detail.value
})
},
bindJobInput: function (e) {
this.setData({
job: e.detail.value
})
},
bindIdInput: function (e) {
this.setData({
id: e.detail.value
})
},
bindPhoneInput: function (e) {
this.setData({
phone: e.detail.value
})
}
```
最后,我们还需要编写一个点击确认按钮的事件处理函数,用于将用户输入的信息输出到控制台:
```
submitForm: function () {
console.log('姓名:', this.data.name)
console.log('单位:', this.data.company)
console.log('职务:', this.data.job)
console.log('身份证号:', this.data.id)
console.log('手机号:', this.data.phone)
}
```
这样,我们就完成了微信小程序文本框的示例代码。当用户在文本框中输入完毕后点击确认按钮,控制台会输出用户的信息。
要求:通过Java控制台开发一个银行管理系统,使用MySQL作为后台数据,实现银行管理员工功能和顾客功能。具体要求如下: (1)管理员功能:登录、添加顾客、删除顾客、计算存储金额、富豪排行榜、退出。 (2)顾客功能:登录、存款、取款、转账、修改密码、退出。
好,以下是一些关于实现这个银行管理系统的建议:
1. 首先,您需要创建一个MySQL数据库并建立与Java程序的连接。可以使用Java中的JDBC API来实现。
2. 然后,您需要创建两个数据表:一个用于存储管理员信息,另一个用于存储顾客信息。管理员表应该包含用户名和密码字段,顾客表应该包含姓名、身份证号、账户名、密码、存储金额等字段。
3. 接下来,您需要编写Java控制台程序来实现管理员和顾客的功能。可以使用Java中的Scanner类来获取用户的输入。
4. 实现管理员登录功能时,您需要从管理员表中查询用户名和密码是否匹配。如果匹配成功,则允许管理员进入系统;否则,提示管理员重新输入。
5. 实现管理员添加顾客功能时,您需要从顾客表中添加一条新记录。
6. 实现管理员删除顾客功能时,您需要从顾客表中删除指定身份证号的记录。
7. 实现管理员计算存储金额功能时,您需要从顾客表中查询所有记录的存储金额总和。
8. 实现管理员富豪排行榜功能时,您需要从顾客表中查询存储金额排名前几位的记录。
9. 实现顾客登录功能时,您需要从顾客表中查询账户名和密码是否匹配。如果匹配成功,则允许顾客进入系统;否则,提示顾客重新输入。
10. 实现顾客存款功能时,您需要从顾客表中查询指定账户名的记录,并将存储金额增加指定数量。
11. 实现顾客取款功能时,您需要从顾客表中查询指定账户名的记录,并将存储金额减少指定数量。
12. 实现顾客转账功能时,您需要从顾客表中查询自己和对方的账户名的记录,并分别将存储金额减少和增加指定数量。
13. 实现顾客修改密码功能时,您需要更新指定账户名的记录中的密码字段。
14. 最后,实现管理员和顾客退出功能时,您需要在程序中提供相应的选项。
希望以上建议能够对您有所帮助,如果您还有其他问题或需要更详细的解释,请随时向我提问。