编程题第一道:完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
import random
secret = random.randint(1,10)
#理解一个random模块从而满足随机的要求
time = 3
guess= 0
#提前将guess赋值,使得能直接进入while函数,而不至于当猜的数正好是答案而进不去while,这样的好处是可以将等于也写在while里,不至于前后重复使用!!!(很好的方法)
print("猜猜我是几:",end="")
#1.end=“”是将本来print自动换行给取消,从而看起来结构更精简
#2.可以理解为先print了一段话,而冒号后面的才是temp = input() guess = int (temp)所输入的内容,所以只是起到规整界面导航的作用,并不会影响代码(如果在后面input(猜猜我是几),那么若输入不对再次输入时就会有猜猜我是几:再试一次吧:两行字,和期望的不符,所以在whlie外面加)。
while (guess != secret) and (time>0):
temp = input()
guess = int (temp)
time=time-1
#将所有条件放一起美观,在进入逻辑
if guess == secret:
print("you are a good boy")
else:
if guess <secret:
print("it is so small")
else:
print ("it is too big")
if times > 0:
print("再试一次吧:", end=" ")
#由于这里结束后会返回while语句,而之前的print是在while之外的,所以需要新的前置导航语
else:
print("机会用光咯T_T")
print ("game over")
编程题第二道:. 尝试写代码实现以下截图功能:
需要这样输出:
请输入一个整数:5
1
2
3
4
5
temp = input('请输入一个整数:')
number = int(temp)
i = 1
#i的应用是为了在输出时候输出1开始
while number:
#这里其实的意思是while number !=0,由于最后到零对于while相当于false(个人理解),所以结束循环
print(i)
#输出i的赋值不加引号!!
i = i + 1
number = number - 1
编程题第三道:需要打印这样的图案:
请输入一个整数:5
*****
**
*
#法一
temp=input('choose a number:')
number=int(temp)
while number:
i = number -1
while i :
print (' ',end='')
i -= 1
#这里表示的是i一直循环输出空格只到结束,且end=“”使得不会换行
j=number
while j:
print('*',end='')
j -=1
#j与i是并行的两个,而不是中的子循环,逻辑为先i输出空格结束,在j输出星号结束
print()
#单纯为了换行
number -= 1
法二
num = int(input("请输入一个整数:"))
while num:
print(' '*(num-1)+'*'*num)
num -= 1
总结:while num在num为零结束,c-=1意思为c=c-1,一个并行的while函数会等第一个完成后再开始第二个(如4.3法一),print()自带换行效果,若不想换行则加end=“”。print若想输出一个赋值则print()不加引号,加引号是输出一个字符。random函数。