учебный проект весла - запись python

Байду

Начало работы с Python

содержание

  • Hello World!
  • Манипуляции со строками
  • простая математика
  • if elif else
  • цикл
  • маленький тест

Зачем изучать Python

Простой и удобный, меньше кода. Не обращайте слишком много внимания на мелочи, такие как типы, объявления и т. д. Он гибкий в использовании, и есть много сторонних пакетов поддержки.

Все фреймворки глубокого обучения обычно имеют версию интерфейса Python.

Зачем использовать IPython/Jupyter

IPython Notebook позиционирует себя как «лабораторный блокнот для программистов» — позволяет пользователям отображать/выполнять данные, код и пояснительный текст на одной странице в браузере, а не в отдельных файлах.

базовый тип

Основными базовыми типами данных в Python являются числа (целые и с плавающей запятой), логические значения и строки.

Hello World!

# This is a one line comment#描述
print('Hello World!')
Hello World!
# Strings can be enclosed by ',", or 
print("Hello World!")
# \ is used as a escape character#转义字符. 
# There are many special escape sequences#有许多特殊的转义序列
# Notable are: \t (tab)#tab键
#             \n (new line)换行
print("The \n makes a new line")
The 
 makes a new line
print("The \t is a tab")
The 	 is a tab
print('I\'m going to the movies')
I'm going to the movies
firstVariable="hello,world"
print(firstVariable)
hello,world

Манипуляции со строками

Строки — это особый тип Python. В качестве объекта в классе вы можете вызывать методы для строковых объектов, используя нотацию .methodName(). Строковый класс доступен по умолчанию в python, поэтому вам не нужен оператор импорта, чтобы использовать объектный интерфейс для строк.

# go over ? mark after if you are not sure what method does. 
print(firstVariable.lower())
print(firstVariable.upper())
print(firstVariable.title())
hello,world
HELLO,WORLD
Hello,World
# To look up what each method does
firstVariable.lower?
#函数名
#文档描述
#内部函数或方法
#help(firstVariable.lower)
# Can also use help
#help(firstVariable.lower)
#help()
firstVariable.split(',')
['hello', 'world']
a=firstVariable.split(',')
a
['hello', 'world']
' '.join(a)#"内是空格" 表示 拼接时用
'hello world'
help(' '.join)
Help on built-in function join:

join(iterable, /) method of builtins.str instance
    Concatenate any number of strings.
    
    The string whose method is called is inserted in between each given string.
    The result is returned as a new string.
    
    Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
print("0" + "1")
01
"0" * 3
'000'
# You can add strings together. 
"Fizz" + "Buzz"
'FizzBuzz'

базовая математика

Существует четыре различных типа чисел: простые целые числа, длинные целые числа, числа с плавающей запятой и комплексные числа. Кроме того, логические значения являются подтипом обычных целых чисел.

# Addition, add two int together
1+1
2
# if one of the operands is a float, the result is a float.
130-2.0
128.0
130-2
128
# integer division
130/2    
65.0
130.0/2
65.0
# Multiplication
2*3
6
# Exponentiation ** 
# This operator raises the number to its left to the power of the number to its right 
2**3
8
# Modulo
# Returns the remainder of the division of the number to the left by the 
# number on its right. 
9%3#and
0

если оператор

оператор сравнения Функции
< меньше, чем
<= меньше или равно
> больше, чем
>= больше или равно
== равный
!= не равно

Проверьте, верно ли что-то, и если да, сделайте это. Если это не True (False), не выполнять

# Notice you have to indent after you start a if statement. indet缩进 statement 语句 
num = 3
if num == 3: 
    print(num)
3
# Nothing is outputted because num > 10 is FALSE
num = 3
if num > 10:
    print(num)
num = 3
if num % 3 == 0:
    print("Fizz")
Fizz
num = 10
if num % 5 == 0:
    print("Buzz")
Buzz
if True:
    print("This was True")
This was True
if False: 
    print("Nothing printed")
логический оператор описывать
and Если оба операнда истинны, условие становится истинным.
or Если любой из двух операндов имеет значение True, условие становится True.
not Для инвертирования логики (не False становится True, не True становится False
姓名|性别
--- | ---
马文翰 | 
  File "<ipython-input-15-b9a42e501bf6>", line 2
    --- | ---
        ^
SyntaxError: invalid syntax
num = 4
num > 0 and num  < 15
True
# both the conditions are true, so the num will be printed out
if num > 0 and num  < 15:
    print(num)
4
# num > 0 is True, num > 15 is False
# Since the first condition is True, it is True
num = 4
num > 0 or num  > 15
True
 num > 0 or num  > 15
True
# or will only evaluate to False if both are False
if False or False:
    print('Nothing will print out')
num = 10
not num < 20 
False

еще оператор

Должен идти после оператора if или elif. Может быть не более одного другого объявления. будет выполняться только в том случае, если все приведенные выше операторы «if» и «elif» имеют значение False.

num = 1
if num > 3 :
    print("Hi")
"""We will execute what is inside the else statement
because num is not greater than 3
"""
num = 1
if num > 3 :
    print("Hi")
else: 
    print("number is not greater than 3")
number is not greater than 3
"""We will execute what is inside the if statement because num > 4"""
num = 4
if num > 3 :
    print("Hi")
else: 
    print("number is not greater than 3")
Hi

Task(сложная задача

  1. Присвоить num целочисленному значению.
  2. Если целое число четное, запись комбинации if else напечатает «ваше целое число четное». В противном случае выведите «ваше целое число нечетное».

Подсказка: любое целое число, которое можно разделить точно на 2, является четным (например: 2,4,6). Любое целое число, которое нельзя разделить точно на 2, является нечетным числом (например, 1,3,5). Используйте оператор по модулю (%), который делит остаток слева от числа на число справа.

num = 3
if num % 2 == 0:
    print("Your integer is even")#even偶数
else: 
    print("Your integer is odd") #odd奇数
Your integer is odd

Элиф заявление

Должен идти после оператора if. Оператор оператора elif позволяет вам проверять несколько выражений на истинность и выполнять блок кода, как только одно из условий оценивается как истинное.

Как и в случае с else, оператор elif является необязательным. Однако, в отличие от других случаев, когда может быть не более одного оператора, за оператором if может следовать любое количество операторов elif.

num = 21
if num > 50:
    print('num is larger than 50')
elif num == 21:
    print('num = 21')
else:
    print('Catchall condition')
num = 21
num = 21 
if num > 50:
    pirnt("num is larger than 50")
elif num == 22:
    print("num == 21")
else:
    print("catchall condition")
catchall condition
my_num = 5
if my_num % 2 == 0:
    print("Your number is even")
elif my_num % 2 != 0:
    print("Your number is odd")
else: 
    print("Are you sure your number is an integer?")
Your number is odd
my_num = 3
if my_num % 2 == 0:
    print("your integer is even")
elif my_num % 2 != 0:
    print ("your integer is odd")
else :
    print ("Are you sure your number is an integer ?")
your integer is odd
# You can have mulitpled elif statements.# statements 声明/报告  mulitpled多重
# Remember only the first True statement has its block of code executed. 

dice_value = 3#点数
if dice_value == 1:
    print('You rolled a {}. Great job!'.format(dice_value))#format格式 roll
elif dice_value == 2:
    print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 3:
    print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 4:
    print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 5:
    print('You rolled a {}. Great job!'.format(dice_value))
elif dice_value == 6:
    print('You rolled a {}. Great job!'.format(dice_value))
else:
    print('None of the conditions above (if elif) were evaluated as True')
You rolled a 3. Great job!
dice_value = 6#这里犯过一个优质的错误 把赋值"="写成了"==" 
if dice_value == 1:
    pirnt("you rolled a {}. Great job ! ".format(dice_value))
elif dice_value == 2:
    print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 3:
    print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 4:
    print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 5:
    print("your rolled a {} . Great job!".format (dice_value) )
elif dice_value == 6:
    print("your rolled a {} . Great job!".format (dice_value) )
your rolled a 6 . Great job!

Task

  1. Присвоить num целочисленному значению.
  2. Напишите серию операторов if, elif, else, которые печатают указанное вами число. Но вместо чисел, кратных трем, выведите «Fizz» и «Buzz», если число кратно пяти. Выведите «FizzBuzz» для общих чисел, кратных трем и пяти.
# Solution 1
num = 15
if num % 3 == 0  and  num % 5 == 0 :
    print("FizzBuzz")
elif num % 3 == 0 :
    print("Fizz")
elif num % 5 == 0:
    print("Buzz")
FizzBuzz
if num % 3 == 0 and num % 5 == 0:
    print('FizzBuzz')
elif num % 3 == 0:
    print('Fizz')
elif num % 5 == 0:
    print('Buzz')
else:
    print(str(num))
FizzBuzz
# Solution 2
num = 15
"""Notice how difficult this solution is relative to Solution 1"""

string = ""
if num % 3 == 0:
    string = string + "Fizz"
if num % 5 == 0:
    string = string + "Buzz"
if num % 5 != 0 and num % 3 != 0:
    string = string + str(num)
print(string)
FizzBuzz

список

Список с квадратными скобками [ ]

z = [3, 7,
index 0 1
# Defining a list
z = [3, 7, 4, 2]

получить доступ к значению в списке

# The first element of a list is at index 0
z[0]
3
z[2]
4
# Access Last Element of List #Access 访问
z[-2]
4

Разделить список

# first index is inclusive (before the :) and last (after the :) is not. 
# not including index 2
z[0:2]
[3, 7]
# everything up to index 3
z[:3]
[3, 7, 4]
# index 1 to end of list
z[1:]
[7, 4, 2]

Возьмите список максимума, минимума, длины и суммы

print(min(z), max(z), len(z), sum(z))
2 7 4 16

Подсчитать количество вхождений объектов в списке

random_list = [4, 1, 5, 4, 10, 4]
random_list.count(4)#count计数
3

Возвращает первый указатель списка

random_list = [4, 1, 5, 4,
index= 0 1 2 3
random_list.index(4)
0
# you can specify(指定) where you start your search
random_list.index(4, 4)#(需要查找的数,从哪个序号开始)
5
# random_list.index(value, [start, stop])
random_list.index(4, 4, 6)
5

Еще раз обратите внимание, что начало сохраняется, а конец не сохраняется.

Сортировать список

x = [3, 7, 2, 11, 8, 10, 4]
y = ['Steve', 'Rachel', 'Michael', 'Adam', 'Monica', 'Jessica', 'Lester']
# Sorting and Altering original list
# low to high
x.sort()
print(x)
[2, 3, 4, 7, 8, 10, 11]
# Sorting and Altering original list
# high to low
x.sort(reverse = True)
print(x)
[11, 10, 8, 7, 4, 3, 2]
# Sorting and Altering original list 改变原始列表
# A-Z
y.sort()
print(y)
['Adam', 'Jessica', 'Lester', 'Michael', 'Monica', 'Rachel', 'Steve']
# Sorting and Altering original list
# Z-A
y.sort(reverse = True)# reverse/rɪˈvɜːs/颠倒
print(y)
['Steve', 'Rachel', 'Monica', 'Michael', 'Lester', 'Jessica', 'Adam']
# sorting list WITHOUT altering original list 
new_list = sorted(y)
new_list
['Adam', 'Jessica', 'Lester', 'Michael', 'Monica', 'Rachel', 'Steve']
# notice y is unchanged
y
['Steve', 'Rachel', 'Michael', 'Adam', 'Monica', 'Jessica', 'Lester']

добавить объект в конец списка

x
[11, 10, 8, 7, 4, 3, 2]
x.append(3)
print(x)
[3, 7, 2, 11, 8, 10, 4, 3]

удалить объект из списка

x.remove(10)
print(x)
[3, 7, 2, 11, 8, 4, 3]

Удалить объект в указанной позиции в списке

# List before you remove an item
print(x)
[3, 7, 2, 11, 8, 4, 3]
# Remove item at the index item(对象)
# this function will also return the item you removed from the list
# Default is the last index
x.pop(3)
11
print(x)
[3, 7, 2, 8, 4, 3]

объединить список

Расширьте список, добавив в конце

x.extend([4, 5])
x
[3, 7, 2, 8, 4, 4, [4, 5], 4, 3, 4, 5]
# lists can be diverse, each element in the list can be of a different type.
# lists are really list of pointers, and these pointers can 
# point to anything.

# Concatenating Lists
print('x+y=',x+y)
x+y= [11, 8, 7, 3, 2, 3, 4, 5, 'Steve', 'Rachel', 'Monica', 'Michael', 'Lester', 'Jessica', 'Adam']

Вставить объект перед указанной позицией в списке

x
[3, 7, 2, 11, 8, 10, 4]
x.insert(4, 4)#插入一个数
x
[3, 7, 2, 11, 4, 8, 10, 4]
x.insert(4,[4,5])#插入一个列表
x
[3, 7, 2, 11, [4, 5], [4, 5], 4, 8, 10, 4]