1.水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153
错误代码:
for i in range(100, 1000):
i1 = i // 100
i2 = i // 10 % 10
i3 = i % 10
if i1 ** 3 + i2 ** 3 + i3 ** 3 != i:
print(f"{i}是水仙花数")
for i in range(100, 1000):
i1 = i // 100
i2 = i // 10 % 10
i3 = i % 10
if str(i1 ** 3 + i2 ** 3 + i3 ** 3) == i:
print(f"{i}是水仙花数")
错误点:
代码1.判断部分条件应该是==
代码2.字符串不能和整数比较
正确代码:
for i in range(100, 1000):
i1 = i // 100 # 取百位数字 123//100=1
i2 = i // 10 % 10 # 取十位数字 123//10=12 12%10=2
i3 = i % 10 # 取个位数字 123%10=3
if i1 ** 3 + i2 ** 3 + i3 ** 3 == i:
print(f"{i}是水仙花数")
2.逆序字符串
错误代码:
str = input("请输入字符串")
list = []
for x in range(len(str) - 1, -1, -1):
list.append(str[x])
print(list.join(''))
错误点:
join使用错误:改为''.join(list)
正确代码:
str = input("请输入字符串")
list = []
for x in range(len(str) -1,-1,-1):
list.append(str[x])
print(''.join(list))
3.猜数字
随机生成一个 100 以内的整数,共有 10 次机会开始游戏,输入猜测的数字。
-
如果猜小了,则提示:猜小了
-
如果猜大了,则提示:猜大了
-
猜对了,则提示:猜对了,并且结束游戏
-
10 次机会用完还没猜对,提示:游戏结束,没有猜到。
错误代码:
import random as rd
number = rd.randint(0, 100)
fo