设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 59897|回复: 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
边复习边水贴  ---- 搬运工....
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

沙发
发表于 2013-8-15 14:22:35 |只看该作者
让我来:

sum = 0
i = 0
while i <= 100:
    sum = sum + i
    i = i + 1
print '计算结果为:' ,sum
回复

使用道具 举报

1

主题

0

好友

98

积分

注册会员

Rank: 2

板凳
发表于 2014-3-12 14:46:40 |只看该作者
gagamomo 发表于 2013-8-15 14:22
让我来:

sum = 0

威……
回复

使用道具 举报

0

主题

0

好友

39

积分

新手上路

Rank: 1

地板
发表于 2014-4-27 14:50:13 |只看该作者
a = 1
b = 1

while a < 100:
    a+=1
    b+=a

print "1+2+3+...+100="
print b
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

5#
发表于 2014-4-28 16:16:56 |只看该作者
a = 0
sum = 0
while a < 100 :
    a += 1
    sum = sum + a
    if a == 100 :
        print 'total=' , sum
回复

使用道具 举报

1

主题

0

好友

45

积分

新手上路

Rank: 1

6#
发表于 2014-5-31 06:59:34 |只看该作者
print "let's gaosi"
a = 1
b = a
answer = b
while a <= 100:
    a = a + 1
    b = b + a
    print answer

哪位大神帮我看一下我这个哪里错了。。。
谢谢
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

7#
发表于 2014-5-31 16:02:00 |只看该作者
mihchaelli 发表于 2014-5-31 06:59
print "let's gaosi"
a = 1
b = a

已在微信回答,这里再贴一下:

程序是从上到下按顺序执行的。answer=b这句,只是把当时b的值赋给answer,不代表answer就是b了。后面b进行累加计算而改变,但answer的值并没有变换。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

45

积分

新手上路

Rank: 1

8#
发表于 2014-5-31 21:46:26 |只看该作者
谢谢了
回复

使用道具 举报

0

主题

0

好友

68

积分

注册会员

Rank: 2

9#
发表于 2014-6-11 16:35:13 |只看该作者
print 'do you know 1+2+3+...+100=?'
input()

a=1
b=0
while a<=100:
    b+=a
    a+=1

print 'The answer is:',b
raw_input()
回复

使用道具 举报

10#
匿名  发表于 2014-6-11 22:09:26
一般代码:
  1. smail=input("smail:")
  2. big=input("big:")
  3. a=smail
  4. sum=0
  5. while a<=big:
  6.     sum+=a
  7.     a+=1
  8. print(sum)
复制代码
优化代码:
  1. smail=input("smail:")
  2. big=input("big:")
  3. sum=0
  4. print (smail+big)*(big-smail+1)/2
复制代码
回复

使用道具

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

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

GMT+8, 2024-11-24 23:15 , Processed in 0.023282 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部