zoukankan      html  css  js  c++  java
  • Pathon1

    一、 Hello world程序

    print("Hello World!")

    执行命令: python hello.py ,输出

    执行 python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。

    如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

    #!/usr/bin/env python
      
    print "hello,world"

    如此一来,执行: ./hello.py 即可。

    ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

    附:其它语言的hello world:

    #include<stdio.h>
    int main(void)
    {
    printf("Hello World!!
    ");
    return 0;
    }
    C
    #include <iostream>
    using namespace std;
    
    int main()
    {
       cout << "Hello World";
       return 0;
    }
    C++
    public class HelloWorld {
        public static void main(String []args) {
           System.out.println("Hello World!");
        }
    }
    Java
    <?php
    echo 'Hello World!';
    ?>
    PHP
    #!/usr/bin/ruby
    # -*- coding: UTF-8 -*-
    
    puts "Hello World!";
    Ruby
    package main
    
    import "fmt"
    
    func main() {
       fmt.Println("Hello, World!")
    }
    Go
    program Hello;
    begin
      writeln ('Hello, world!')
    end.
    Pascal
    #!/bin/bash
    echo 'Hello World!'
    Bash
    # -*- coding: UTF-8 -*-
    print 'Hello World!'
    Python
    #!/usr/bin/python
    print("Hello, World!");
    Python3

    二、变量

    变量定义的规则:

        • 变量名只能是 字母、数字或下划线的任意组合
        • 变量名的第一个字符不能是数字
        • 以下关键字不能声明为变量名
          ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

    常量用大写表示

    单词之间用下划线隔开,例:gf_of_tan :tan的女朋友

    三、字符编码

    python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

    #!/usr/bin/env python
      
    print "你好,世界"

    报错:ascii码无法表示中文

    改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    print "你好,世界"

     四、注释

    单行注视:# 被注释内容

    多行注释:""" 被注释内容 """

    五、用户交互

    python2中 raw_input   =    python3中的input

    python2中不要用input ,它接受什么格式就是什么格式(直接打name是变量,不是字符串,字符串要写成”name“)

    # -*- coding: utf-8 -*-
    username = "请输入用户名:"
    print("My name is ",name)   #逗号代表连接字符串
    # -*- coding: utf-8 -*-
    import getpass
    passwd = getpass.getpass("请输入密码:")
    print("密码:", passwd)

    注意:getpass 在pyCharm中不能用,会卡住;在ipython中也不行;  只能在命令行中cd到py文件,然后python interaction.py 来执行

    六、格式化输出

    #格式化输出name, age, job
    name = input("name:")
    age = input("age:")
    job = input('job:')
    info = '''------info of ''' + name + ''' ----
    Name:''' + name + '''
    Age:''' + age + '''
    Job:''' + job
    print(info)
    法1:用+连接 不推荐
    name = input("name:")
    age = int(input("age:"))  #强转int
    job = input('job:')
    info = '''
    ------info of %s----
    Name:%s
    Age:%d
    Job:%s
    ''' %(name, name, age, job)
    法2: %s %d 格式化输出
    info = '''
    ------info of {_name}----
    Name:{_name}
    Age:{_age}
    Job:{_job}
    '''.format(
        _name = name,
        _age = age,
        _job = job
    )
    法3: { } 推荐
    info = '''
    ------info of {0}----
    Name:{0}
    Age:{1}
    Job:{2}
    '''.format(name,age,job)
    法4:{0}{1}...参数多的时候不推荐

     七、 表达式 if ... else

    场景一、用户登陆验证

    name = input('请输入用户名:')
    pwd = getpass.getpass('请输入密码:')
      
    if name == "tan" and pwd == "123":
        print("欢迎,tan!")
    else:
        print("用户名和密码错误")
    if ... else: ...

    场景二、猜年龄

    my_age = 12
     
    user_input = int(input("input your guess num:"))
     
    if user_input == my_age:
        print("Congratulations, you got it !")
    elif user_input < my_age:
        print("Oops,think bigger!")
    else:
        print("think smaller!")
    if... elif... else: ...

    注:   外层变量,可以被内层代码使用

              内层变量,不应被外层代码使用
     
    Python 中强制缩进,,  IndentationError: unexpected indent   缩进错误
     

    八、 while循环

    有一种循环叫做while死循环:

    count = 0
    while True:
        print("count:", count)
        count += 1;  #count=count+1   没有count++

    while猜年龄:

    myage = 20
    count = 0
    while True:
        if count == 3:
            break
        guess_age = int(input("guess age:"))
        if(guess_age == myage):
            print("yes, you got it. ")
            break;
        elif(guess_age < myage):
            print("think bigger! ")
        else:
            print("think smaller! ")
        count += 1
    if count == 3:
        print("you have tried too many times.. fuck off..")
    while中加入if 和 累计次数
    在上面代码基础上有两处优化:   while count<3: ...   else: ...
    myage = 20 count = 0 while count < 3: guess_age = int(input("guess age:")) if (guess_age == myage): print("yes, you got it. ") break; elif (guess_age < myage): print("think bigger! ") else: print("think smaller! ") count += 1 else: print("you have tried too many times.. fuck off..")

    # while 循环正常走完,不会执行else. ...非正常走完(遇到break),才会执行else

     九、for循环

     最简单的循环10次

    for i in range(10):
        print("loop:", i)
    输出 loop:0 - loop: 9

    for猜年龄

    for i in range(3):
        guess_age = int(input("guess age:"))
        if (guess_age == myage):
            print("yes, you got it. ")
            break;
        elif (guess_age < myage):
            print("think bigger! ")
        else:
            print("think smaller! ")
        count += 1
    else:   # while 循环正常走完,不会执行else. ...非正常走完(遇到break),才会执行else
        print("you have tried too many times.. fuck off..")
    for i in range(3):
    while count < 3:
        guess_age = int(input("guess age:"))
        if (guess_age == myage):
            print("yes, you got it. ")
            break;
        elif (guess_age < myage):
            print("think bigger! ")
        else:
            print("think smaller! ")
        count += 1
        if(count == 3):
            continue_flag = input("do you want to keep guessing? ")
            if continue_flag != 'n':
                count = 0
    添加一个是否keep guessing

    需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

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

    需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

    for i in range(10):
        if i>5:
            break #不往下走了,直接跳出整个loop
        print("loop:", i )
    输出 loop:0  -  loop: 5

    需求三:输出偶数(或奇数)隔一个输出一个

    for i in range(0,10,2):  #前两个参数是范围,第三个参数是步长
        print("loop:", i)

     for双循环:

    for i in range(10):
        print("---------", i)
        for j in range(10):
            print(j)
     
     
     
     
  • 相关阅读:
    bash :startx command not found
    RHSA-2019:1880-低危: curl 安全和BUG修复更新 及 RHSA-2019:1884-中危: libssh2
    CentOS8 安装后 无法切换中文输入法
    【centOS7】centOS7上普通用户切换root用户,相互切换
    centos8安装图解(超详细教程)
    电导率与土壤盐浓度间的计算公式
    Tlink物联网平台使用(三)
    Wireshark查看https的通讯
    docker中建立私有git服务器[gitlab]
    【转】程序员的生产力始于需求而非工具
  • 原文地址:https://www.cnblogs.com/tanrong/p/8453655.html
Copyright © 2011-2022 走看看