|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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只有一个意思了,可以套用小甲鱼的代码了。 |
评分
-
查看全部评分
|