好吧,我认输了。

之前也了解过Python,但是左右权衡之下还是选择学习scala,但是目前从软件行业来看,scala依然是默默无闻,而Python却如日中天。所以今天我也不得不学习Python。


不过在看到诡异的“elif”和蛋疼“()”以及for循环的“range(1, 5)”和带“else”的“while”循环时,我坚信scala一定会崛起!


题外话:之前下载的是2.x版本,可以直接“print "Hello Word" ”,但是到了3.0却必须得“print("Hello Word")”,那对括号就像是腐女眼中的异性恋一样,恨不得统统烧死。


import random
number = random.randint(0,99)
running = True
sum = 0
while running:
    sum += 1
    guess = int(input("输入你猜测的数值:"))
    if guess == number:
        print("恭喜你猜对了")
        running = False
    elif guess>number:
        print("大了")
    else:
        print("小了")
else:
    print("游戏结束一共用了{0}次".format(sum))


自己写的一个小游戏代码,慢慢来分析一下:

import random

1.import:和java一样,使用import语句导入扩展包。这次导入的是random类(java是叫做类Python就不知道叫什么了)。

import random
number = random.randint(0,99)

2.定义名为“number”的变了进行赋值,其值为用random类的randint方法产生0到99的随机数。


running = True #循环变量
while running:
   #循环体
else:
   #循环变了为False时执行

3.while循环:

 (1).定义循环变量“running”默认值为“True”,注意!T要大写(是不是很奇葩?)

 (2).“while”关键字后跟循环变量,后接“:”(别幻想了,Python没有switch-case)。

 (3).while循环可以有else,自然也可以没有。


guess = int(input("输入你猜测的数值:"))

4.定义变量“guess”进行赋值,其值为通过“input”函数实现用户输入,并且通过“int()”强制转换为int类型。


if guess == number:
        print("恭喜你猜对了")
        running = False
    elif guess>number:
        print("大了")
    else:
        print("小了")

5.if:唯一可说的就是注意“elif”不是“else if”,这件事儿让我十分费解!哪怕你“else”后面直接跟变量我都能接受,但是偏偏造出了个“elif”


print("游戏结束一共用了{0}次".format(sum))

6.format:print字符串中有个“{0}”和C#很像,但是唯一不同的是必须调用“format()”方法才能传值,不能后直接加变量名。