n / 100 % 10
(a*100+c*10+d)*9==n
func(i) == 1
123
结尾无空行
问题解答:
# 寻找符合条件的四位正整数
for i in range(1000, 10000):
# 判断百位数是否为0
if str(i)[1] == '0':
# 去掉百位数0可得到一个三位正整数
t = int(str(i)[0] + str(i)[2:])
if t * 9 == i:
# 三位正整数乘以9等于原四位正整数
print(i)
# 输出:6075
该程序使用 Python 语言实现。思路如下:
输出结果为 6075。
注:建议该问题的程序在原有代码结构的基础上,采用 Python 语言进行修改,这样会更方便易于理解。
# 该程序为上述题目中的 C 语言程序,对其进行了 Python语言实现。
# 同时,针对少数需要注意的细节,进行了一些注释。
for i in range(1000, 10000):
# 判断百位数是否为0
if str(i)[1] == '0':
# 去掉百位数0可得到一个三位正整数
t = int(str(i)[0] + str(i)[2:])
if t * 9 == i:
# 三位正整数乘以9等于原四位正整数,满足条件,输出
print(i)
关于第三个问题:密码检验问题
该问题是一个综合问题,以 Python 代码实现为例:
def isright(a):
"""
用于对每个类型的字符计数并且判断有没有出现非法字符。
flag: 是否出现非法字符。
"""
b = 0
s = 0
n = 0
o = 0
flag = True
# 遍历字符串
for c in a:
# 是否为数字
if c.isdigit():
n += 1
# 是否为大写字母
elif c.isupper():
b += 1
# 是否为小写字母
elif c.islower():
s += 1
# 是否为其他字符
elif c in [' ', '@', '-', '_', '#', '~']:
o += 1
else:
# 非法字符
flag = False
break
return (b, s, n, o, flag)
def is3(b, s, n, o):
"""
判断密码是否符合至少三种字符的规定。
"""
count = 0
for i in [b, s, n, o]:
if i > 0:
count += 1
if count < 3:
return False
else:
return True
password = 'Aa123456☆'
# 去除空格
password = password.strip()
# 判断密码是否合法
result1 = isright(password)
if not result1[4]:
print("密码中存在非法字符")
elif len(password) < 8:
print("密码长度太短")
elif not is3(*result1[:-1]):
print("密码中应包含大小写字母、数字、其它符号四种中至少三种字符")
else:
print("密码设置成功")
解释:
该程序中包含两个自定义函数。函数 isright
用于计算密码中包含大小写字母、数字、特殊符号的个数,并判断密码中是否存在其他非法字符。该函数返回的是四种密码字符类型中每种字符的计数,以及布尔值 flag
。函数 is3
用于判断密码中是否至少包含三个字符类型,返回布尔值。最终的主函数中,去掉了密码字符串中的空格,依次判断密码长度是否达到要求,密码字符类型及是否存在非法字符,打印合适的提示信息。
输入:Aa123456☆
输出:密码设置成功