码迷,mamicode.com
首页 > 编程语言 > 详细

浅谈自学Python之路(day1)

时间:2018-02-19 18:14:51      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:xxx   span   对齐   count   比较   python   data-   无限   ops   

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

 

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

 

浅谈自学Python之路(day1)

标签:xxx   span   对齐   count   比较   python   data-   无限   ops   

原文地址:https://www.cnblogs.com/cxylff/p/8454013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!