1 取1000以内所有水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153
#方法一:通过整除分别获取个十百位数
i = 100
num = 0
while i < 1000:
b = (i // 100)
s = ((i - b * 100) // 10)
g = (i - 100 * b - 10 * s)
if i == b ** 3 + s ** 3 + g ** 3:
print('第{}个水仙花数是:{}'.format(num + 1, i))
num += 1
i += 1
#方法二:字符串切片法获取个十百位数
i=100
while i<1000:
a = str(i) #将数字转化为字符串,注意参与计算时还得转回来
b = int(a[0]) #百位
s = int(a[1]) #十位
g = int(a[2]) #个位
if i == b** 3 + s** 3 + g** 3:
print(i)
i+=1
2 判断用户输入是否为质数
while True:
num = input("请输入一个数字: ")
if num.isdigit(): #判断输入内容是否所有都为整形数字
num=int(num)
if num <= 1: # 增加了对于1和0的判断
print(num, "不是质数,质数是指在大于1的自然数")
elif num ==2 or num ==3:
print(num, "是质数")
elif num>2:
for i in range(2, num):
if (num % i) == 0:
print(num, "不是质数")
print(i, "乘于", num // i, "是", num)
break
elif num == i+1:
print(num, "是质数")
else:
i += 1
else:
print(num, "是质数")
else:
print("输入内容非法,请重新输入!")
3 猜拳游戏:
import random
a = eval(input('猜拳游戏,0:剪刀,1:石头,2:布,请输入:'))
b = random.randint(0,2)
print('电脑选择:',b)
if a ==2 and b ==0:
print('电脑获胜')
elif a == b:
print('此局平局')
elif a>b or (a==0 and b==2):
print('玩家获胜')
else:
print('电脑获胜')