莫失莫忘哦 发表于 2017-12-17 02:29:16

零基础学习python 004课

本帖最后由 莫失莫忘哦 于 2017-12-17 05:02 编辑

import random

times = 3#定义用户输入的次数

secret = random.randint(1,10)

print('猜数字游戏')

number = 0

print('请输入数字:',end='')

while (number != secret) and (times > 0):
   
    temp = input()
   
    number = int(temp)
   
    times = times - 1#用户没输入一次就减少一次
   
    if number == secret:
      print('真厉害,')
      print('猜中了!')
    else:
      if number >secret:
            print('猜错了,大了,')
      else:
            print('猜错了,小了,')
      if times > 0:
            print('再试一次吧:',end='')
      else:
            print('机会用光了')
print('游戏结束。')


新人求助,求解释IF条件前面几行代码的意思。

BngThea 发表于 2017-12-17 07:24:10

先接收用户输入
然后将输入转换为数字,以进行比较操作
猜测次数减一,因为一共只有三次机会

铁棍阿童木 发表于 2017-12-17 09:05:44

从代码第 13 行开始进入 while 循环体:
temp = input()   # input()函数的作用是等待用户输入,再把用户输入的内容作为字符串存储到变量 temp 中
number = int(temp)   # int()函数用来把存储在 temp 变量中的字符串数值转换成整型数值,转换后的数值存储到变量 number 中。

times = times - 1   # 将记录用户输入次数的变量减 1 ,当这个 times 的值等于 0 的时候就不会进入while循环体

莫失莫忘哦 发表于 2017-12-17 14:11:47

铁棍阿童木 发表于 2017-12-17 09:05
从代码第 13 行开始进入 while 循环体:
temp = input()   # input()函数的作用是等待用户输入,再把用 ...

谢谢您能回答我的问题,第一个请问numbet在第9行赋值为0,那么在第17行numbet = 是用户的输入得数字。一个变量名2次赋值不会有冲突吗,为什么?第二个问题temp = 用户的输入,那么这行代码该去哪里找到用户的输入,为什么会去找“”那行代码”?    再次感谢您能回答我的问题。谢谢!

铁棍阿童木 发表于 2017-12-17 19:56:54

莫失莫忘哦 发表于 2017-12-17 14:11
谢谢您能回答我的问题,第一个请问numbet在第9行赋值为0,那么在第17行numbet = 是用户的输入得数字。一 ...

第一个问题:不会有冲突。因为变量 number 每次指向的值不一样,位于内存的不同位置;
第二个问题:用户输入的值直接赋值给了 temp 这个变量啊,所以 temp 就是指向的内存中用户输入的内容

莫失莫忘哦 发表于 2017-12-18 19:51:01

铁棍阿童木 发表于 2017-12-17 19:56
第一个问题:不会有冲突。因为变量 number 每次指向的值不一样,位于内存的不同位置;
第二个问题:用户 ...

多谢您的指点,现在已经明白了。
页: [1]
查看完整版本: 零基础学习python 004课