• 浅谈自学Python之路(day1)


    2018-02-19  17:15:14

    Python语言相对于其他语言较为简洁,也相对好入门比如后面不加分号,基本见不着大括号等优点

    • 第一个程序,也是学每门语言都需要掌握的第一个代码

     print("Hello World") 

    • print 语句用法
    1  print 'a', 'b' #print可以接受多个参数,参数的输出之间以空格相隔。
    2  print 'a', #如果逗号之后没有参数,则不会换行。
    3  print 'b'
    • 接下来是输入用户名密码
     1 import getpass
     2 
     3 _username = 'lym'
     4 _password = 'abc123'
     5 username = input("username:")
     6 #password = getpass.getpass("password:")
     7 password = input("password:")
     8 if _username == username and _password == password:
     9     print("Welcome user {name} login...".format(name=username))
    10 else:
    11     print("Invalid username or password!")
    • 进行格式化拼接
     1 name = input("name:")
     2 #age = input("age:")
     3 age = int(input("age:"))
     4 print(type(age), type( str(age) ))
     5 job = input("job:")
     6 salary = input("salary:")
     7 
     8 #用这种比较好
     9 info = '''
    10 --------------info of %s
    11 Name:%s
    12 Age:%d
    13 Job:%s
    14 Salary:%s
    15 '''%(name,name,age,job,salary)
    16 
    17 
    18 info2 = '''
    19 --------------info of {_name}
    20 Name:{_name}
    21 Age:{_age}
    22 Job:{_job}
    23 Salary:{_salary}
    24 '''.format(
    25           _name = name,
    26           _age = age,
    27           _job = job,
    28           _salary = salary
    29          )
    30 
    31 
    32 info3 = '''
    33 --------------info of {0}
    34 Name:{0}
    35 Age:{1}
    36 Job:{2}
    37 Salary:{3}
    38 '''.format(name,age,job,salary)
    39 
    40 print(info3)

    由以上可以看出,想输入一个英文或者数字可以这样写

     1 name = input("name:") 

    简单而快捷

    • format方法

    有时我们并不想用其他信息来构造字符串。这儿format()方法就很有用。

    python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,

    从原来的% 模式变成新的可读性更强的

    1. 花括号声明{}、用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用。

    2. 从format参数引入的变量名 、

    3. 冒号:、

    4. 字符位数声明、

    5. 空白自动填补符 的声明

    6. 千分位的声明

    7. 变量类型的声明: 字符串s、数字d、浮点数f

    8. 对齐方向符号 < ^ >

    9. 属性访问符中括号

    10. 使用惊叹号!后接a 、r、 s,声明 是使用何种模式, acsii模式、引用__repr__ 或 __str__

    11. 增加类魔法函数__format__(self, format) , 可以根据format前的字符串格式来定制不同的显示, 如: ’{:xxxx}’  此时xxxx会作为参数传入__format__函数中。

    • 注释

    最简单的注释“#”

    比如:

    #print("这是一个注释")

    多行注释: """ """

    '''
    for i in range(10):
        if i<5:
            continue #不往下走了,直接进入下一次loop
        print("loop:", i )
    '''

    整段话就被全部注释掉了,也很简单

    • 循环

    表达式if ... else

     1 # 提示输入用户名和密码
     2   
     3 # 验证用户名和密码
     4 #     如果错误,则输出用户名或密码错误
     5 #     如果成功,则输出 欢迎,XXX!
     6  
     7  
     8 #!/usr/bin/env python
     9 # -*- coding: encoding -*-
    10   
    11 import getpass
    12   
    13   
    14 name = raw_input('请输入用户名:')
    15 pwd = getpass.getpass('请输入密码:')
    16   
    17 if name == "lym" and pwd == "cmd":
    18     print("欢迎,lym!")
    19 else:
    20     print("用户名和密码错误")

    猜年龄游戏:在程序中设定好你的年龄,然后让用户输入年龄比大小,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

     1 my_age = 28
     2  
     3 user_input = int(input("input your guess num:"))
     4  
     5 if user_input == my_age:
     6     print("Congratulations, you got it !")
     7 elif user_input < my_age:
     8     print("Oops,think bigger!")
     9 else:
    10     print("think smaller!")

    若改为无限次数猜,直到你猜对了为止

     1   count = 0
     2   age_of_oldboy = 26
     3   while True:
     4        guess_age = int(input("guess age: "))
     5        if guess_age == age_of_oldboy:
     6            print("yes,you got it")
     7            break
     8        elif guess_age < age_of_oldboy:
     9            print("think smaller")
    10        else:
    11            print("think bigger")

    若限制次数为三次,超过三次就被踢出游戏

     1 while count < 3:
     2     guess_age = int(input("guess age:"))
     3     if guess_age == age_of_oldboy:
     4         print("yes,you got it")
     5         break
     6     elif guess_age < age_of_oldboy:
     7         print("think smaller")
     8     else:
     9         print("think bigger")
    10     count +=1
    11 else:
    12     print("fuck off")

    此处,count 即计数器

    • 表达式 for loop

    最简单的循环10次

    1 for i in range(10):

    2 print("loop:", i ) 

    输出结果为

     1 loop: 0
     2 loop: 1
     3 loop: 2
     4 loop: 3
     5 loop: 4
     6 loop: 5
     7 loop: 6
     8 loop: 7
     9 loop: 8
    10 loop: 9

    如果想跳着输出 loop可以修改代码为

    1 for i in range(0,10,2):
    2   print("loop:",i)

    输出结果为

    1 loop: 0
    2 
    3 loop: 2
    4 
    5 loop: 4
    6 
    7 loop: 6
    8 
    9 loop: 8

    1,3,5,7就分隔开了,从0开始每隔两个loop输出一个loop

    • 表达式while loop

    输出0-1000的数字

    1 count = 0
    2 while True:
    3     print("count:",count)
    4     count +=1
    5     if count ==1000:
    6         break

    输出结果太多,这里就不截图了

    再拓展一下,如何达到,让用户猜数字,三次内如果猜对则break,如果三次后还没有猜对则提问是否愿意继续猜? 如果打出的不是Y,则继续猜,依次循环,代码如下

     1 while count < 3:
     2     guess_age = int(input("guess age:"))
     3     if guess_age == age_of_oldboy:
     4         print("yes,you got it")
     5         break
     6     elif guess_age < age_of_oldboy:
     7         print("think smaller")
     8     else:
     9         print("think bigger")
    10     count +=1
    11     if count == 3:
    12         countiue_guess = input("do you want keep guessing?...")
    13         if countiue_guess != "y":
    14             count = 0

    今天的学习的内容就是以上内容,相信大家看了以后也很容易理解,那么期待第二天的内容,我们下期见:)

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

    我的写作热情离不开您的肯定支持,感谢您的阅读,我是【YMLiang】!

    我的个人博客:https://ymliang.netlify.com

    QQ:616581760

    邮箱:616581760@qq.com

  • 相关阅读:
    Maven3路程(一)用Maven创建第一个web项目(1)
    ECLIPSE下SVN的创建分支/合并/切换使用
    Oracle 客户端免安装数据库连接
    如何用Maven创建web项目(具体步骤)
    使用Eclipse构建Maven项目 (step-by-step)
    Maven安装配置
    动画基础(隐式动画)
    CA*Layer(CAReplicatorLayer--)
    CA*Layer(CATransformLayer--CAGradientLayer)
    CA*Layer(CAShapeLayer--CATextLayer)
  • 原文地址:https://www.cnblogs.com/cxylff/p/8454013.html
Copyright © 2020-2023  润新知