一、用户输入一个3位数字,判断其是否为水仙花数。
要求:
1.验证是否为三位数(暂不考虑非数字情况)
2.判断是否是水仙花数
以下代码为自己先写出来的。
while True: num = input("请输入一个三位整数:") # 这一步是判断是否为三位数,整除只要百位不为0,就是三位数。(这种方法是基于对字符串长度的判断。) if len(num) == 3: num = int(num) # 取得个位数值 geWei = num % 10 # print(geWei) # 取得百位数值 baiWei = num // 100 # print(baiWei) # 取得十位数值 shiWei = (num % 100 // 10) # print(shiWei) # 判断是否是水仙花数 if baiWei ** 3 + shiWei ** 3 + geWei ** 3 == num: print("您输入的", num, "为水仙花数") else: print("您输入的", num, "不是水仙花数,请重新输入") else: print("您输入的数值不是三位数,请重新输入") # 用户退出条件 isQ = input("请问您是否继续输入?退出请按q,继续请按任意键") if isQ == "q": break else: continue
另外的一种方式:
while True: num = input("请输入一个三位整数:") num = int(num) # 这一步是判断是否为三位数,整除只要百位不为0,就是三位数。(这种方式是通判断数值范围) if 99 < num < 1000: # 取得个位数值 geWei = num % 10 # print(geWei) # 取得百位数值 baiWei = num // 100 # print(baiWei) # 取得十位数值 shiWei = (num % 100 // 10) # print(shiWei) # 判断是否是水仙花数 if baiWei ** 3 + shiWei ** 3 + geWei ** 3 == num: print("您输入的", num, "为水仙花数") else: print("您输入的", num, "不是水仙花数,请重新输入") else: print("您输入的数值不是三位数,请重新输入") # 用户退出条件 isQ = input("请问您是否继续输入?退出请按q,继续请按任意键") if isQ == "q": break else: continue