1、题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各个位上数字的立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
for n in range(100,1000):i = n // 100j = n // 10 % 10k = n % 10if n == i*i*i + j*j*j + k*k*k:print(n)
2、设计“过7游戏”的程序, 打印出1-100之间除了含7和7的倍数之外的所有数字。
i= 1while i <= 100:if '7' not in str(i) and i % 7 != 0:print(i, end=' ')i += 1# method2j = 1while j <= 100:if j % 10 != 7 and j % 7 != 0:print(j, end="")j += 1
3、使用while,完成以下图形的输出。(每一行的星星不能用*乘以星星的数量来完成,须使用while嵌套)(较难)
**
*
*
*
*
*
**
row = 1while row <= 9:col = 1star = 1# 先计算前五行的if row <= 5:while col <= (5 - row):print(" ", end="")col += 1while star <= row * 2 - 1:print("*", end="")star += 1# 计算的后四行的else:while col <= (row - 5):print(" ", end="")col += 1while star <= 19 - row * 2:print("*", end="")star += 1print("")row += 1# method2row = 1while row <= 5:j = 1while j <= row:if j == 1:print(" " * (5-row), end="") # 一个空格k = 1while k <= 2 * row - 1:print("*", end="")k += 1j += 1print("") # 换行操作row += 1while 5 < row <= 9:j2 = 1while j2 <= row:if j2 == 1:print(" " * (row-5), end="")k2 = 1while k2 <= 19 - row * 2:print("*", end="")k2 += 1j2 += 1print("")row += 1# updated method 2row = 1while row <= 9:if row <= 5:j = 1while j <= row:if j == 1:print(" " * (5-row), end="")k = 1while k <= 2 * row - 1:print("*", end="")k += 1j += 1else:j = 1while j <= row:if j == 1:print(" " * (row-5), end="")k = 1while k <= 19 - row * 2:print("*", end="")k += 1j += 1print("")row += 1
4、使用while、if来完成剪刀石头布程序,要求,当玩家第3次获胜时才退出游戏,否则继续玩。
import randomi = 1while i <= 3:player = int(input("请输入代表数字:0-剪刀,1-石头,2-布"))if player > 2:print("请输入合法数字")else:print(f"玩家出手:{player}")computer = random.randint(0, 2)print(f"Computer出手:{computer}")if ((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ( (player == 2) and (computer == 1)):print(f"玩家获胜{i}次")i += 1elif player == computer:print("平局")else: # 玩家没获胜print("Computer获胜")print("玩家三次获胜,游戏结束")
5、幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。在游戏过程中,记录你最终猜对时所需要的次数,
游戏结束后公布结果。
说明:
1~2次猜中,打印你太TM有才了!
3~6次猜中,打印这么快就猜出来了,很聪明嘛!
大于7次猜中,打印猜了半天才猜出来,小同志,尚需努力啊!
猜测次数最多20次。
import randomi = 1computer = random.randint(0, 99)while i <= 20:num = int(input("请输入您猜测的数字:"))if num != computer:if num > computer:print("您猜测的数字太大!")elif num < computer:print("您猜测的数字太小!")i += 1else:print("您猜测的次数为:%d" % i)if i <= 2:print("你太TM有才了!")breakelif 3 <= i <= 6:print("这么快就猜出来了,很聪明嘛!")breakelse:print("猜了半天才猜出来,小同志,尚需努力啊!")break
