编写程序 输入一个社保号码 判断输入是否有效
时间: 2024-09-27 12:08:02 浏览: 33
微信小程序-五险一金计算源码
编写一个判断社保号码是否有效的程序通常涉及设计特定的规则来验证输入字符串是否符合社会保障号码的一般格式。这可能包括检查数字的长度、是否有特殊字符(如分割符或校验码)、以及校验规则是否符合所在地区的规范。
以下是一个简化的Python示例,假设中国社保号码由18位组成,前17位是数字,最后一位是校验码:
```python
def is_valid_ssn(social_security_number):
if len(social_security_number) != 18 or not social_security_number.isdigit():
return False
# 假设中国社保号码的校验规则是奇数位乘以2,偶数位相加,然后对11取余,余数应为0
checksum = sum(int(digit) * (i % 2 + 1) for i, digit in enumerate(social_security_number[:-1]))
calculated_checksum = sum(int(digit) for digit in social_security_number[:-1])
return checksum == calculated_checksum and social_security_number[-1] in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# 测试函数
ssn_input = input("请输入社保号码:")
if is_valid_ssn(ssn_input):
print("社保号码有效.")
else:
print("社保号码无效.")
阅读全文