#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/6/2/002 10:50
# @Author : Ryu
# @Site :
# @File : learnPython.py
# @Software: PyCharm
#print("hello,python")#第二个设置
'''
paragraph = """这是一个段落,
可以由多行组成"""
print(paragraph)
'''
"""
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
"""
"""
str='Runoob hello yujun'
print(str+'你好')
#记住:空行也是程序代码的一部分
"""
#input("\n\n按下 enter 键后退出。")用户输入
"""
x = "a"
y = "b"
# 换行输出
print(x)
print(y)
print('---------')
# 不换行输出
print(x, end=" ")
print(y, end=" ")
print()
"""
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
"""
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
"""
"""
#链表
def reverseWords(input):
# 通过空格将字符串分隔符,把各个单词分隔为列表
inputWords = input.split(" ")
# 翻转字符串
# 假设列表 list = [1,2,3,4],
# list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
# inputWords[-1::-1] 有三个参数
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向
inputWords = inputWords[-1::-1]
# 重新组合字符串
output = ' '.join(inputWords)
return output
if __name__ == "__main__":
input = 'I like runoob'
rw = reverseWords(input)
print(rw)
"""
"""
#元组
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print(" ")
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
"""
#集合
"""
创建方法
parame = {value01,value02,...}
或者
set(value)
"""
"""
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
print(sites) # 输出集合,重复的元素被自动去掉
# 成员测试
"""
"""
if 'Runoob' in sites :
print('Runoob 在集合中')
else :
print('Runoob 不在集合中')
"""
# set可以进行集合运算
# a = set('abcdefg')
# b = set('alacazam')
#
# print(a)
#
# print(a - b) # a 和 b 的差集
#
# print(a | b) # a 和 b 的并集
#
# print(a & b) # a 和 b 的交集
#
# print(a ^ b) # a 和 b 中不同时存在的元素
#字典字典当中的元素是通过键来存取的,而不是通过偏移存取。
#字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
# dict = {}
# dict['one'] = "1 - 菜鸟教程"
# dict[2] = "2 - 菜鸟工具"
#
# tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
#
#
# print (dict['one']) # 输出键为 'one' 的值
# print (dict[2]) # 输出键为 2 的值
# print (tinydict) # 输出完整的字典
# print (tinydict.keys()) # 输出所有键
# print (tinydict.values()) # 输出所有值
#也可这样创建字典
# dict([('key1', 'value1'), ('key2', 'value2')])
# print(dict)
# 等于下面
# print(dict)
# {
# 'key1': 'value1',
# 'key2': 'value2',
# }
#实例。构造函数创建字典
# d=dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
# print(d)
'''
a = 2
b = 3
c = a**b
print ("6 - c 的值为:", c)
'''
# a = 21
# b = 21
# c = 0
#
# if (a == b):
# print("1 - a 等于 b")
# else:
# print("1 - a 不等于 b")
'''
a=8
b=5
c=a//b#取整除运算符
print(c)
'''
# a = 10
# b = 20
#
# if (a and b):
# print("1 - 变量 a 和 b 都为 true")
# else:
# print("1 - 变量 a 和 b 有一个不为 true")
#
# if (a or b):
# print("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
# else:
# print("2 - 变量 a 和 b 都不为 true")
'''
a = 21
b = 20
if (a is not b):
print("1 - a 和 b 有不同的标识")
else:
print("1 - a 和 b 没有相同的标识")
if (id(a) == id(b)):
print("2 - a 和 b 有相同的标识")
else:
print("2 - a 和 b 没有相同的标识")
'''
#运算符优先级
'''
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d # ( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d); # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d; # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)
'''
'''
随机数函数
import random
a=random.choice(range(10))
print(a)
'''
#字符串
'''
# var1 = 'Hello World!'
# var2 = "Runoob"
# print("var1[0]: ", var1[0])
# print("var2[1:5]: ", var2[1:5])
'''
#列表
#定义方式
list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7];
#使用
# print("list1[0]: ", list1[0])#从0开始
# print("list2[1:5]: ", list2[1:5])#打印第二个到第五个
# del list1[2]#删除列表元素
# print(list1)
# for x in [1, 2, 3]: print(x, end=" ")
#嵌套列表
# a=['a','b','c']
# n=[1,2,3]
# x=[a,n]
# print(x)
#输出[['a', 'b', 'c'], [1, 2, 3]]
#元组
#元组定义
#tup1 = ('Google', 'Runoob', 1997, 2000)
# tup2 = (1, 2, 3, 4, 5 )
# tup3 = "a", "b", "c", "d" # 不需要括号也可以
# print(tup3)访问方式
# print(tup1[1:4])
#元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
#删除和修改和列表一致
# tup1(50,)#正确方式
#字典
# 字典是另一种可变容器模型,且可存储任意类型对象。
# 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
# 格式 d = {key1 : value1, key2 : value2 }
#键必须是唯一的,但值则不必。
#值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组
#例如,实际上就是键值对
# dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
# print ("dict['Alice']: ", dict['Alice'])
# print ("dict['Beth']: ", dict['Beth'])
# 输出
# dict['Alice']: 2341
# dict['Beth']: 9102
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
#修改字典信息
# dict['Age'] = 8 # 更新 Age
# dict['School'] = "菜鸟教程" # 添加信息
#
# print("dict['Age']: ", dict['Age'])
# print("dict['School']: ", dict['School'])
# dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
#
# #del dict['Name'] # 删除键 'Name'
# dict.clear() # 清空字典
# #del dict # 删除字典
# print("dict['Age']: ", dict['Age'])
# print("dict['class']: ", dict['Class'])