学习Python编程第008天

写一个猜数字的游戏,

先用中文把过程写一下,

定义一个6次循环,变量为C

1、先随机一个数字1-50之间,赋予变量N

2、然后屏幕打印“第C次,请输入1-50之间的数字”

3、让你输入一个数字,要求在1-50之间,赋予变量R

4、判断这是不是一个1-50之间的数字,

5、不是返回第2步,

6、如果是1-50之间的数字

7、比较R和N的大小,如果一样大,打印“你猜中了”程序结束;如果R比N小,打印“你输入的数字小了,请输入R-50之间的数字”;如果R比N大,打印“你输入的数字大了,请输入1-R之间的数字”;下一步。可以把这一步定义为一个函数。返回循环开始。

也不知道自己写的过程对不对,一边实践一边修改吧。

#def pandun():  #原本想定义一个判断函数用来直接调用,结果没有用上。

#    if N==R:  # input()输入的是字符串,不是数字,所以不能直接和一个数字进行判断。

import random  #调用random模块,要用到randint()函数,

N=random.randint(1,50) #调用random模块中的randint()函数,把1到50里的一个随机数赋值给变量N

#N=2  #用来做测试用的,可以明确知道N的数值,简化检测。

print('你有6次机会,第一次,请输入1-50之间的数字') 

try:  #判断如果下面的程序出错(输入的不是数字),就直接结束程序。

for c in range(1,7):  #循环6次,把循环次数赋值给c。

    R=input()  #输入一个数字赋值给R,看了书里的编程后,这一句可以改成R=int(input()),然后后面的int(R)可以直接写成R

    if int(R)==N:  #把R变成整数型,和N进行比较

      print('你猜中了!')

      break  #如果猜中了,通过这句话,终止循环

    elif int(R)<N: 

        print('第'+str(c+1)+'你输入的数字小了,请输入'+str(R)+'-50之间的数字')

    elif int(R)>N:

        print('第'+str(c+1)+'你输入的数字大了,请输入1-'+str(R)+'之间的数字')

    print('你失败了!')  #循环结束还没有猜中,打印这句话后结束循环。

except ValueError:  #出现非数字符号,打印下面的句子,

print('你不按要求输入,请重新开始')  #必须缩进一格,不然就不是except下面的语句。

书里编的程序

# This is a guess the number game.

import random

secretNumber = random.randint(1,20)

print('I am thinking of a number between 1 and 20.' )

# Ask the player to guess 6 times.

for guessesTaken in range(1, 7):

      print('Take a guess.')

      guess = int(input())  #这一句比我的合理,直接将变量变成一个整数然后赋值给变量guess

      if guess < secretNumber:

        print('Your guess is too low.')

      elif guess > secretNumber :

        print('Your guess is too high.')

      else:

        break # This condition is the correct guess!

if guess == secretNumber:

      print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')

else:

      print('Nope. The number I was thinking of was ' + str( secretNumber) )

书本的这个例子,缺少输入其他字符时的情况,所以运行的时候会出错。

为什么要把学习的过程写下来,因为只有在写下来,进行输出的同时,我才会更加认真的对待学习,把每一个过程都去思考一下,去验证一下。学了不等于会,一定要用出来,才能证明你会了。只是按着书上的代码输入一次,学习的效果十分的有限。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容