学习是一个逐步发现自己无知的过程!

Python基础练习题

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, how are you doing today?

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)
赞(0)
未经允许不得转载:劉大帥 » Python基础练习题

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册