马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 阿黎黎 于 2017-7-5 11:33 编辑
0. 倒三角
a.temp = input('请您输入一个整数:')
number = int(temp)
n = number
while number > 0:
i = n - number
while i > 0:
print(' ', end = '')
i -= 1
j = number
while j > 0:
print('* ', end = '')
j -= 1
print()
number -= 1
【第11行 * 后面有一个空格~】
b.temp = input('请您输入一个整数:')
number = int(temp)
n = number
while number > 0:
i = n - number
while i > 0:
print(' ', end = '')
i -= 1
j = number * 2 - 1
while j > 0:
print('*', end = '')
j -= 1
print()
number -= 1
【j = number * 2 - 1,而不是 '*' ,此刻的 '*' 是字符串,可以*2,但不能 - 1,这是不同的数据类型】
1. 燕尾角(小甲鱼课后习题的对称版)
temp = input('请输入一个整数:')
number = int(temp)
n = number
while number > 0:
i = n - number
while i > 0:
print(' '* 2, end = '')
i -= 1
j = number
if number == 1:
print('*')
else:
while j > 0:
print('*', end = '')
j -= 1
k = (number - 1) * 2 - 1
while k > 0:
print(' ', end = '')
k -= 1
l = number
while l > 0:
print('*', end = '')
l -= 1
print()
number -= 1
【通过这个代码,我体会到了while n的不可取性,毕竟除了false,0或者空,其他的都为真,“k = (number - 1) * 2 - 1”如果不在while k > 0 的条件下运行的话,会导致程序的无限运行,虽然也能将图形显示出来,但终究存在大bug。】
2. 进阶版组装游戏
【原版】import random
counts = 3
secret = random.randint(1,10)
print('——————————————阿黎黎的python分割线———————————————')
name = input('Hi, 好久不见啊~,既然来了就留下你的名字吧:')
print(name + '你好啊!一起来玩个游戏吧。猜猜我现在心里\
想的是哪个数字吧,从1-10,只有三次机会哦(*^__^*)')
print('请输入你的答案吧:', end = '')
while counts > 0:
guess = input()
number = int(guess)
if (number > 10) or (number <= 0):
print('看,又调皮了吧,不是说好了是1-10嘛(⊙o⊙)…')
print('这次就先原谅你啦,再试一次吧~')
else:
counts -= 1
if number == secret:
while secret > 0:
i = number - secret
while i > 0:
print(' '* 2, end = '')
i -= 1
j = secret
if secret == 1:
print('*')
else:
while j > 0:
print('*', end = '')
j -= 1
k = (secret - 1) * 2 - 1
while k > 0:
print(' ', end = '')
k -= 1
l = secret
while l > 0:
print('*', end = '')
l -= 1
print()
secret -= 1
print('哎呦!不错哦!这么久没见,还能猜中本姑娘心中所想,\
给你一个么么哒好了~')
break
else:
if counts > 0:
if number > secret:
print('嘿嘿,大了哦,你还有',counts,'次机会(⊙v⊙)')
print('再试一次吧:', end = '')
else:
print('嘻嘻,小了哦,你还有',counts,'次机会(⊙v⊙)')
print('再试一次吧:', end = '')
else:
print('╮(╯▽╰)╭,机会用光了,你居然没猜出来~~~~(>_<)~~~~,心塞塞的')
print('o啦o啦,游戏结束了,不玩啦,( ^_^ )/~~拜拜')
【和小甲鱼的不同】
1. 没有guess=0。
guess = 0,是变量的初始化,用于while循环之前。
2. while去掉了guess != secret, 改用了break作为跳出循环的方式。
这里secret有两层意思,一层是要猜的数,一层又是*号打印时的变量,而且while循环之前也没有定义guess。
【改进版】import random
counts = 3
secret = random.randint(1,10)
print('——————————————阿黎黎的python分割线———————————————')
name =input('Hi~,好久不见啊~既然来了就留下你的名字吧:')
print(name + '你好啊!一起来玩个游戏吧。猜猜我现在心里想的是哪个数字吧,\
从"1-10",只有三次机会哦(*^__^*)')
print('请输入你的答案吧:', end = '')
while counts > 0:
guess = input()
number = int(guess)
if (number > 10) or (number <= 0):
print('看,又调皮了吧,不是说好了是1-10嘛(⊙o⊙)…')
print('这次就先原谅你啦,再试一次吧~')
else:
counts -= 1
n = secret
if number == n:
while n > 0:
i = number - n
while i > 0:
print(' '* 2, end = '')
i -= 1
j = n
if n == 1:
print('*')
else:
while j > 0:
print('*', end = '')
j -= 1
k = (n - 1) * 2 - 1
while k > 0:
print(' ', end = '')
k -= 1
l = n
while l > 0:
print('*', end = '')
l -= 1
print()
n -= 1
print('哎呦!不错哦!这么久没见,还能猜中本姑娘心中所想,\
给你一个么么哒好了~')
break
else:
if counts > 0:
if number > secret:
print('嘿嘿,大了哦,你还有',counts,'次机会(⊙v⊙)')
print('再试一次吧:', end = '')
else:
print('嘻嘻,小了哦,你还有',counts,'次机会(⊙v⊙)')
print('再试一次吧:', end = '')
else:
print('╮(╯▽╰)╭,机会用光了,你居然没猜出来~~~~(>_<)~~~~,心塞塞的')
print('o啦o啦,游戏结束了,不玩啦,( ^_^ )/~~拜拜')
input('按enter键退出')
secret只有一个意思了,可以套用小甲鱼的代码了。 |