对于任意输入的有数字字符组成的字符串,如果最高位数字等于其余各位数字之和,则显示“yes”,否则显示“no”继续执行,直到输入“quit”结束
思路代码如下,需不需要考虑输入空值,我这里没有考虑,需要考虑的话我再改改
while(True):
x = input("请输入数字字符串(quit退出):")
if x == 'quit':
break
# 尝试转型
try:
# 将字符串转换为列表
x_list = [int(i) for i in x]
# 有非数字:输出no后重新开始
except ValueError:
print("no")
continue
# 获取最高位
high = x_list[0]
# 获取除最高位外其他位的数,并求和
datas = x_list[1:]
all = sum(datas)
# 判断
if high == all:
print("yes")
else:
print("no")
代码如下。如果解决问题,请点击一下采纳谢谢:
while 1:
inp = input()
if inp == 'quit':
break
max = 0
sum = 0
for x in inp:
try:
x = int(x)
if not max:
max = x
else:
sum += x
except:
pass
if max == sum:
print('yes')
else:
print('no')