设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 47887|回复: 52
打印 上一主题 下一主题

【Python 第10课】 变量2

[复制链接]

12

主题

0

好友

81

积分

注册会员

Rank: 2

跳转到指定楼层
#
发表于 2013-7-30 21:52:20 |只看该作者 |正序浏览
变量这东西,我们已经用过。有了变量,就可以存储和计算数据。今天来讲点变量的细节。


#==== 变量命名规则 ====#
变量名不是你想起就能起的:


第一个字符必须是字母或者下划线“_”

剩下的部分可以是字母、下划线“_”或数字(0-9)

变量名称是对大小写敏感的,myname和myName不是同一个变量。
几个有效的栗子:
i
__my_name
name_23
a1b2_c3


几个坏掉的栗子(想一下为什么不对):
2things
this is spaced out
my-name



#==== 变量的运算 ====#


我们前面有用到变量来存储数据: num = 10
answer = input()


也有用到变量来比较大小: answer < num


除此之外,变量还可以进行数学运算: a = 5 b = a + 3 c = a + b


python中运算的顺序是,先把“=”右边的结果算出了,再赋值给左边的变量。下面这个例子: a = 5 a = a + 3 print a
你会看到,输出了8,因为先计算出了右边的值为8,再把8赋给左边的a。
通过这种方法,可以实现累加求和的效果。它还有个简化的写法:
a += 3这个和a = a + 3是一样的。


于是,利用变量、循环、累加,可以写一个程序,来完成传说中高斯大牛在小时候做过的题:1+2+3+...+100=?从1加到100等于多少?


提示:你可以用一个变量记录现在加到几了,再用一个变量记录加出来的结果,通过while来判断是不是加到100了。


#==== Crossin的编程教室 ====#
微信ID:crossincode
QQ群:312723402

面向零基础初学者的编程课
每天5分钟,轻松学编程

f68e6e3d269759eee7be4973b3fb43166c22df15.jpg
边复习边水贴  ---- 搬运工....
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

52#
发表于 2020-3-15 11:57:04 |只看该作者
哦哦UP 发表于 2020-3-14 19:52
我明白了,a=0 b=o 然后 a=0+1 b=0+1 然后 a=1+1 b=1+2 然后 a=2+1 b=1+2+3 然后 a=3+1 b=1+2+3+4  这样 ...

理解正确!
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

40

积分

新手上路

Rank: 1

51#
发表于 2020-3-14 19:54:00 |只看该作者
crossin先生 发表于 2020-3-14 17:16
关于你的问题
a、b初始均为0
每次循环,

我的数学高考59分 理解起来有点困难
回复

使用道具 举报

0

主题

0

好友

40

积分

新手上路

Rank: 1

50#
发表于 2020-3-14 19:52:49 |只看该作者
crossin先生 发表于 2020-3-14 17:16
关于你的问题
a、b初始均为0
每次循环,

我明白了,a=0 b=o 然后 a=0+1 b=0+1 然后 a=1+1 b=1+2 然后 a=2+1 b=1+2+3 然后 a=3+1 b=1+2+3+4  这样依次类推下去。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

49#
发表于 2020-3-14 17:16:37 |只看该作者
哦哦UP 发表于 2020-3-13 22:33
我不明白为什么从1加到100是这么个求和,能不能给拆解一下运算步骤。

关于你的问题
a、b初始均为0
每次循环,
a = a + 1, 即依次为 1,2,3,4……直到100
b = b + a,即依次把a的值(也就是1~100)加起来,最后的结果即为 1加到100的和
参考解答
https://mp.weixin.qq.com/s?__biz ... =19#wechat_redirect

先去理解while,然后理解从1输出到100的代码,再理解求和的代码


#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

40

积分

新手上路

Rank: 1

48#
发表于 2020-3-13 22:33:39 |只看该作者
我不明白为什么从1加到100是这么个求和,能不能给拆解一下运算步骤。
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

47#
发表于 2018-3-3 11:56:35 |只看该作者
sum=0
a=1
while a<101:
    sum+=a
    a+=1
    print sum
回复

使用道具 举报

0

主题

0

好友

46

积分

新手上路

Rank: 1

46#
发表于 2018-3-1 10:46:33 |只看该作者
for循环:
#904 计算1到100的值
print('计算1到100的值')
sum = 0
for a in range(1,101):
    sum = sum+a
    print(a)
print(sum)
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

45#
发表于 2017-12-23 23:37:18 |只看该作者
收获蛮多的,看着简单,我想了很久也没有成功
但是也收获了一点,就是while里的变量不能直接加变量,会提示变量为定义
比如我写的是
a=1
b=2
while a!=101:
    c=a+b+c
    a=a+2
    b=b+2
print c

这里的c就不能把值传到下次循环去,或者在前面再加个c=0就可以了

   
回复

使用道具 举报

0

主题

0

好友

22

积分

新手上路

Rank: 1

44#
发表于 2017-11-16 17:08:56 |只看该作者
时代已经进入到了Python3.5
_=__=0
while __ <= 100:
        _+=__
        __+=1
print(_)
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

43#
发表于 2017-7-1 14:55:02 |只看该作者
一开始一直琢磨,怎么把变量一直更新,最后看了答案才明白可以通过再赋值就行了,还是惯性思维了。
然后按思路添加了判断大于3的条件。

print('输入一个大于3的数字n,列出前n项菲波那切数列。')
a1 = 1
a2 = 1
n = eval(input())
x = 1
if n <= 3:
    print('错误,n必须大于3')
if n > 3:
    print(a1)
    print(a2)
    while x <= n:
        a3 = a1 + a2
        a1 = a2
        a2 = a3
        x += 1
        print(a3)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-11 16:30 , Processed in 0.028578 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部