找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2094|回复: 2

[求助] while和 全局变量 指向问题,很简单 求解答

1

主题

1

帖子

1

积分

贫民

积分
1
541004009 发表于 2019-8-16 20:02:36 | 显示全部楼层 |阅读模式
import random as random
ran = random.randint(0,100);
print(ran);
n = 1;
guess= int(input('猜这个数字'));

while guess != ran:
    n+=1;
    if guess> ran:
        print('比这个数字大');
        guess = int(input('第%i次猜这个数字' %n));
    elif guess < ran:
        print('比这个数字小');
        guess = int(input('第%i次猜这个数字' %n));
else:
      print('找到你了');
      

问题描述:
删了 全局n就,while不循环了, guess 外边的和里面的  地址值就不一样了,但是为什么  写入这个 n  然后就完美执行了呢?



回复

使用道具 举报

0

主题

18

帖子

18

积分

贫民

积分
18
wengboyu 发表于 2019-8-20 00:58:10 | 显示全部楼层
n+=1 # 等于 n = n + 1
如果删掉 n=1
请问 n = n + 1怎么执行
回复 支持 反对

使用道具 举报

0

主题

102

帖子

102

积分

侠客

积分
102
傻眼貓咪 发表于 2021-8-6 17:22:45 | 显示全部楼层
  1. a, b = 0, 1

  2. while b < 10:
  3.     print(b)
  4.     a, b = b, a+b # 這裡的 b = a+b 就是原本的 a 加上 b

  5. print()

  6. a, b = 0, 1
  7. while b < 10:
  8.     print(b)
  9.     a=b # a 已經變成 b 的值
  10.     b=a+b # a+b 就變成 b+b 同意思
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表