求以下2题python代码的bug

第一题:

淘淘不喜欢数字3、6、9,在数数时,从1开始数,带有这三个数字的都会跳过。如:1, 2, 4, 5, 7, 8, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 27, 28, 40,…… 输入一个n,求淘淘数到n时,她所数的所有数之和是多少?若n包含3、6、9,则显示,淘淘不会数到这个数。

输入格式:

输入一个正整数n。

输出格式:

输入淘淘数的数之和,或者提示淘淘不会数n。

输入样例1:

在这里给出一组输入。例如:

12

输出样例1:

在这里给出相应的输出。例如:

60

输入样例2:

在这里给出一组输入。例如:

13

输出样例2:

在这里给出相应的输出。例如:

淘淘不会数13

 

第二题:

判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否含有完全相同的字母。

输入格式:

两行,输入两个由大小写字母和空格组成的字符串

输出格式:

若两个字符串含有完全相同的字母(不区分大小写),输出YES,否则输出NO。

输入样例1:

This is a pencil
this is an apple

输出样例1:

NO

输入样例2:

Hello World
hello word

输出样例2:

第一题:
counts=input()
number=1
count=0
sum=0
while count<int(counts):
    isin=False
    for i in['3','6','9']:
        if i in str(number):
            isin=True
        if isin:
            number+=1
        else:
            sum+=number
            count+=1
            number+=1
print(sum)
 
 
第二题:
a=input()
b=input()
num1=0 #计算字母数量
num2=0
sum1=0 #计算ascll码之和
sum2=0
 
for i in a:
    asc=ord(i) #转为ascll码
    if asc!=32: #排除空格
        if asc>=97:
            asc=asc-32 #因为不区分大小写,所以把大写字母的ascll码减去32,以转为小写字母的ascll码
        sum1+=asc
        num1+=1
 
for n in b:
    asc=ord(n)
    if asc!=32:
        if asc>=97:
            asc=asc-32
        sum2+=asc
        num2+=1
 
if sum1==sum2 and num1==num2:
    print('YES')
else:
    print('NO')
# 第一题:
c = 12 #int(input("输入数字:"))
r = 0
if '3' in str(c) or '6' in str(c) or '9' in str(c):
    print('淘淘不会数 %d'%c)
else:
    for i in range(1, c+1):
        if '3' in str(i) or '6' in str(i) or '9' in str(i):
            continue
        else:
            r += i
    print(r)

 

修改程序如下:

# 第一题修改如下:删除一个count变量,只需要两个就可以,用了while循环,就不用嵌套for循环
counts=input("请输入一个数:")
number=1
sum=0
if('3' in counts or '6' in counts or '9' in counts):
    print("淘淘不会数到这个数字")
else:        
    while number<=int(counts):
        if('3' in str(number) or '6' in str(number) or '9' in str(number)):
            number+=1
            continue
        else:
            sum+=number
            number+=1
    print(sum)  


# # 第二题修改如下
a=input("请输入第一串字符:")
b=input("请输入第二串字符:")
num1=0 #计算字母数量
num2=0
sum1=0 #计算ascll码之和
sum2=0
 
for i in a:
    asc=ord(i) #转为ascll码
    if asc!=32: #排除空格
        if asc>=97:
            asc=asc-32 #因为不区分大小写,所以把大写字母的ascll码减去32,以转为小写字母的ascll码
        sum1+=asc
        num1+=1
 
for n in b:
    asc=ord(n)
    if asc!=32:
        if asc>=97:
            asc=asc-32
        sum2+=asc
        num2+=1
 
if sum1==sum2 and num1==num2:
    print('YES')
else:
    print('NO')

 

对应运行结果如下:

第一个程序:

请输入一个数:12
60


请输入一个数:13
淘淘不会数到这个数字

第二个程序:


请输入第一串字符:Hello Word

请输入第二串字符:hello word
YES


请输入第一串字符:hello

请输入第二串字符:word
NO

 

如有帮助还望采纳,码字不易 相互理解

补充的测试截图

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

第一题:
c = int(input("输入数字:"))
r = 0
for i in range(1, c+1):
    if i == 3 or i == 6 or i == 9:
        continue
    else:
        r += i
if not ('3' in str(c) or '6' in str(c) or '9' in str(c)):
    print(r)
else:
    print(f'淘淘不会数{c}')

第二题
c = input("输入字符串:")
d = input("输入字符串:")
c = c.replace(' ', '')
d = d.replace(' ', '')
if c.lower() == d.lower():
    print("yes")
else:
    print("no")