如有不足之处,欢迎读者评论,我会第一时间做出改进
水仙花数(Narcissistic number):
也称超完全数字不变数、自恋数、自幂数、阿姆斯壮数、阿姆斯特朗数
它是指 一个 n 位数(n>=3),它的每一位上的数字的n次幂之和等于它本身。
例如:13+53+3**3=153
水仙花数只是自幂数的一种,严格意义上来说3位数的3次幂才称为水仙花数。
求出1000以内的所有水仙花数.
print('1000以内的所有水仙花数如下:')
for num in range(100,1000):
a = num // 100 #提取该数的百位数
b = ( num - a * 100 ) // 10 #提取该数的十位数
c = num - a * 100 - b * 10 #提取该数的个位数
if a ** 3 + b ** 3 + c ** 3 == num: #对应定义条件
print("{}是水仙花数".format(num))
else:
continue
num2 = input("请输入你要验证的数字:")
while num2 != "end":
number = int(num2)
if number > 1:
count=0
for i in range(1,number+1):
if number % i == 0:
count += 1
if count == 2 :
print("{}是质数".format(number))
num2 = input("请输入你要验证的数字:")
else:
print("{}不是质数".format(number))
num2 = input("请输入你要验证的数字:")
else:
print("你输入的数字不满足验证要求,请重新输入")
num2 = input("请输入你要验证的数字:")
print("验证结束,若需再次验证,请重新执行程序")
i = 1
while i <= 9:
for j in range(1,i+1):
print("{}*{}={}".format(i,j,i*j),end='\t')
if i == j:
print('\n')
i += 1
给用户9次机会猜1 - 10 个数字内随机来猜数字。
如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。
最终结果要求用户怎么也猜不对
import random
print("====欢迎来到猜数字游戏,系统已经生成目标数字====")
print("从一到十中选择你猜测的数字,你只有九次机会:")
data = [1,2,3,4,5,6,7,8,9,10]
count = 1
number = int(input())
while True:
try: #避免重复输入,因为输入的值已被巧妙的删除,以达到猜九次后恰好剩下最后一个数作为系统生成数字
data.remove(number) #删除用猜的数字
result = random.choice(data) #在删除本次用户猜的数字后的数组中随机抽取一个数,作为系统已生成的临时数字
if number == result:
print("恭喜你,猜对了")
print("游戏结束!")
break
else:
print("很遗憾,你第{}次没有猜对".format(count))
count += 1
if count > 9:
print('你九次机会已经用完!')
print("目标数字是%d" % result)
print("====Game Over!====")
break
number = int(input())
except Exception:
print("你已经输入该值,请勿重复")
number = int(input())