python基础原理
1. 简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
编译型:首先将源代码编译生成机器语言,再由计算机进行执行,只需要第一次进行编译。
编译型语言还有: C/C++等
解释型:源代码是由语言解释器,将原代码翻译成机器语言再执行,每次运行都需要翻译一次。
解释型语言还有:Python、Golang、Shell等。
2. 执行 Python 脚本的两种方式是什么?
1、交互式环境(用于调试代码,立马返回结果。)
2、脚本模式(将代码写入文件中,指定解释器来执行文件中的代码)
3. Pyhton 单行注释和多行注释分别用什么?
1、单行注释主要用于代码中对重点代码进行注释。
2、多行注释主要用于代码开头,对整个代码体的注释,当前代码完成那些需求等内容。
4. 布尔值分别有什么?
True
False
1、隐式布尔值(一般通过判断得到结果得到)
2、显示布尔值(一般通过变量方式定义的布尔值)
5. 声明变量注意事项有那些?
1、不能以数字开头。
2、变量要见名知意。
3、不能使用关键字作为变量。
4、不要用中文作为变量名。
6. 如何查看变量在内存中的地址?
name = "rocco"
print(id(name))
实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
name = "seven"
pas = "123"
inp_name = str(input("please input your of username: "))
inp_pas = str(input("please input your of password: "))
if inp_name == name and inp_pas == pas:
print("Congratulations Your login successes.")
else:
print("input error!! please renew input.")
实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
name = "seven"
pas = "123"
count = 0
while True:
if count >= 3:
break
inp_name = str(input("please input your of username: "))
inp_pas = str(input("please input your of password: "))
if inp_name == name and inp_pas == pas:
print("Congratulations Your login successes.")
break
else:
print("input error!! please renew input.")
count += 1
实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
name = "seven"
name1 = "alex"
pas = "123"
count = 0
while True:
if count >= 3:
break
inp_name = str(input("please input your of username: "))
inp_pas = str(input("please input your of password: "))
if inp_name == name or inp_name == name1 and inp_pas == pas:
print("Congratulations Your login successes.")
break
else:
print("input error!! please renew input.")
count += 1
使用while循环实现输出2-3+4-5+6...+100 的和
count = 2
sum = 0
while count <= 100:
if count % 2 == 0:
sum = sum + count
else:
sum = sum - count
count += 1
print(sum)
使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
count = 0
while count <= 11:
count += 1
if count == 6 or count == 10:
continue
print(count)
使用 while 循环实现输出 1-100 内的所有偶数
count = 0
while count <= 99:
count += 1
if count % 2 == 0:
print("%s\t是偶数" % (count))
使用 while 循环实现输出 1-100 内的所有奇数
count = 0
while count <= 99:
count += 1
if count % 2 != 0:
print("%s\t是奇数" % (count))
现有如下两个变量,请简述 n1 和 n2 是什么关系?
n1 = 123456
n2 = n1
n2链接的是n1的内存地址、所以n1和n2的值相同内存地址也相同。
编写登陆接口
基础需求:
- 让用户输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后退出程序
user = "rocco"
pas = "123"
count = 1
tar = True
while tar:
if count >= 3:
tar = False
inp_user = input("please input your of username: ")
inp_pas = input("please input password: ")
if inp_user == user and inp_pas == pas:
print("login Successes!")
break
else:
print("Username and password Error!!!")
count += 1
升级需求:
- 可以支持多个用户登录 (提示,通过列表存多个账户信息)
- 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
11. 输出数字 1 - 4 的三位组合方式,以及有多少中组合
# A方法
count = 0
for i in range(1, 5):
for k in range(1, 5):
for n in range(1, 5):
if (i != k) and (k != n) and (i != n):
count += 1
# B 方法
import itertools
a = [1, 2, 3, 4]
total = 0
for i in itertools.permutations(a, 3):
total += 1
函数练习
输入名字调用函数返回Hello,
def greet(name):
# Good Luck (like you need it)
return "Hello, {name} how are you doing today?".format(name=name)
函数输出内容全部大写
def make_upper_case(s):
# Code here
return s.upper()
给定一个整数数组,返回一个每个值加倍的新数组。
def maps(a):
tmp = []
for i in a:
k = i * 2
tmp.append(k)
return tmp
Nathan 喜欢骑自行车。
# 因为内森知道保持水分很重要,所以他每小时骑自行车要喝 0.5 升水。
# 你得到了以小时为单位的时间,你需要返回 Nathan 将喝的升数,四舍五入到最小值。
# 例如:
# time = 3 ----> litres = 1
# time = 6.7---> litres = 3
# time = 11.8--> litres = 5
def litres(time):
return int(time * 0.5)
# return int(time/2)
# return time // 2
# return math.floor(time*0.5)
给定一个整数,3返回一个带有杂音的字符串:"1 sheep...2 sheep...3 sheep..."。输入将始终有效,即没有负整数。
def count_sheep(n):
s = ""
for i in range(1, n + 1):
s += str(i) + "sheep...\n"
return s
# return ''.join("{} sheep...".format(i) for i in range(1, n + 1))
# return ''.join(f'{i} sheep...' for i in range(1, n + 1))
创建一个函数来回答“你在弹奏班卓琴吗?”这个问题。如果您的名字以字母“R”或小写“fr”开头,那么您正在演奏班卓琴! 该函数将名称作为其唯一参数,并返回以下字符串之一:
<name> plays banjo
<name> does not play banjo
def are_you_playing_banjo(name):
# if name[0].lower() == 'r':
# if name[0].upper() == 'R':
# if str(name).startswith("R") or str(name).startswith("r"):
if name[0] == 'r' or name[0] == 'R':
return "{} plays banjo".format(name)
else:
return "{} does not play banjo".format(name)
DNA 和 RNA的转换
# 脱氧核糖核酸,DNA是生物系统中主要的信息存储分子。它由四个核酸碱基鸟嘌呤 ('G')、胞嘧啶 ('C')、腺嘌呤 ('A') 和胸腺嘧啶 ('T') 组成。
# 核糖核酸(RNA)是细胞中的主要信使分子。RNA 与 DNA 的化学结构略有不同,不含胸腺嘧啶。在 RNA 中,胸腺嘧啶被另一种核酸尿嘧啶 ('U') 取代。
# 创建一个函数,将给定的 DNA 字符串翻译成 RNA。
# 例如: "GCAT" => "GCAU"
# 输入字符串可以是任意长度 - 特别是,它可以是空的。保证所有输入都是有效的,即每个输入字符串只会由'G'、'C'和'A'/或组成'T'。
import re
def dna_to_rna(dna):
RNA = ""
for i in dna:
if i == "T":
RNA = RNA + "U"
else:
RNA = RNA + i
# return RNA
# return dna.replace("T", "U")
return re.sub('T', 'U', dna)
最新评论
# 这只是一个创建远程登录并授权的语句、仅作为记录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Fit2cloud!' WITH GRANT OPTION;
当MGR集群初始化结束后,需要开启MGR集群自启动(需要有一台节点是自动开启引导) loose-group_replication_start_on_boot = ON #设置节点是否在启动时自动启动 MGR 集群 loose-group_replication_bootstrap_group = ON #设置节点是否作为初始引导节点启动集群
密码:blog.sirliu.com
本内容密码:blog.sirliu.com 最新整理的文章在这里喔:https://blog.sirliu.com/2018/11/shell_lian_xi_ti.html