本文最后更新于90 天前,其中的信息可能已经过时,如有错误请发送邮件到2773434682@qq.com
| 谢谢你还记得这个网站 |
| 谢谢你还记得这个网站 |
| 谢谢你还记得这个网站 |
下面的代码直接C V就好了
代码框的右上角有选项
电脑端访问体验效果更佳
移动端左上角有菜单,内置目录
看目录找项目
日志
- 12月6日 作业实验已更新至<Python第8章作业>
- 11月19日 作业实验已更新至<鸡兔同笼(project)>
- 11月15日 作业实验已更新至当日发布的全部内容,实验项目修复了<实验7>及以前的所有BUG与其他问题
- 11月14日 增加日志栏目,补充前期更新日志
- 11月13日 作业实验更新至<模拟游戏对话>,新增Python课实验项目,更新至<实验8>
- 11月8日 新增数字教程栏目,更新至<对象与变量>,新增作业实验栏目,更新至<简单的个人信息展示>
头歌-作业实验
人机交互自学引导
第1关
# 在下面一行补充代码,输出“Hello World!”
print("Hello World!")
第2关
# 在下面补充代码,在两行中依次输出“李白,你好!”和“李白,你好!”
print("李白,你好!")
print("李白,你好!")
第3关
# 补充代码,第一行接收一个人名的输入,后面两行中依次输出“xxx 你好!”和“xxx ,你好!”
A=input()
print(A+" 你好!")
print(A+" ,你好!")
第4关
# 补充代码,第一行接收一个人名的输入,后面两行中依次输出“xxx你好!”和“xxx,你好!”
name = input()
print(name + "你好!")
print(name + ",你好!")
第5关
# 前两行分别输入人名和用于分隔的符号,第三行输出“xxx分隔符你好!”
name = input()
sep = input()
print(name + sep + "你好!")
第6关
# 在下面空行输入一个符号
symbol = input()
for poet in ['李白', '王维', '王勃', '白居易', '杜甫']:
# 在下一行对齐此位置写输出语句,加参数使输出时不换行,每个输出后用第2行输入的符号结尾
print(poet + symbol, end='')
Python概述自学检测
B C C A A C B
输入输出自学检测
B C A C C A A
对象与变量自学检测
C B D D C C B A
注释自学检测
C C C B A
编码规范自学检测
A D C B D B
分支自学检测
B C C C A A C D C
输入训练(project)
第1关
# 补充你的代码
A = input()
print(A)
第2关
# 补充你的代码
print('请输入一个整数:',end='')
A = input()
print(A)
第3关
# 补充你的代码
A = input()
print(A*10)
第4关
# 补充你的代码
A = input()
B = input()
C = input()
print(A+B+C)
第5关
# 补充你的代码
A = int(input())
B = int(input())
print(A*B)
第6关
# 补充你的代码
A = float(input())
B = float(input())
print(A*B)
第7关
# 补充你的代码
A = input()
print(eval(A)*3)
输出训练(project)
第1关
# 补充你的代码
A = input()
print(A)
第2关
# 补充你的代码
A = input()
B = input()
C = input()
print(A+" "+B+" "+C)
第3关
# 补充你的代码
A = input()
B = input()
C = input()
D = input()
print(A,B,C,sep = D)
第4关
# 补充你的代码
A = input()
B = input()
C = input()
D = input()
print('今天是{}年{}月{}日,天气{}。'.format(A,B,C,D))
第5关
# 补充你的代码
A = input()
B = input()
C = input()
D = input()
print(f'今天是{A}年{B}月{C}日,天气{D}。')
第6关
# 补充你的代码
pi1 = '3.14'
pi2 = '3.1415'
pi3 = '3.1415926'
sign = input()
num = input()
print(f'圆周率值为:{pi1:{sign}{num}.9}')
print(f'圆周率值为:{pi2:{sign}{num}.9}')
print(f'圆周率值为:{pi3:{sign}{num}.9}')
第7关
# 补充你的代码
pi = 3.14159265358979
A = int(input())
print("圆周率值为:" + f"{pi:.{A}f}")
简单的个人信息展示
第1关
# 请补充你的代码
A = input("请输入您的姓名:")
B = int(input("请输入您的年龄:"))
C = float(input("请输入您的身高(米):"))
print(f"姓名:{A}")
print(f"年龄:{B} 岁")
print(f"身高:{C} 米")
模拟游戏对话
第一关
# 请补充你的代码
name = input("请输入角色的名字:")
level = input("请输入角色的等级:")
num = input("请输入角色拥有的金币数量:")
print(f'欢迎,勇敢的 {name}!')
print(f'你现在的等级是 {level} 级。')
print(f'你拥有 {num} 个金币。')
print(f'{name},继续你的冒险吧!',end='')
流程控制自学引导
第1关
A = int(input())
for i in range(0,A):
print(i,end=' ')
第2关
start = int(input()) # 输入一个整数表示数列起点
# 补充一条语句,输入一个整数表示数列终点
stop = int(input())
# 补充一条语句,输入一个整数表示数列的步长
step = int(input())
# 输入2条语句,在一行内输出等差数列,数字后跟一个空格
for i in range(start, stop, step):
print(i, end=' ')
第3关
num = int(input())
print(sum(range(0, num, 2)))
第4关
result = 0 # 累加器置0
A = int(input())
for i in range(1, A, 2): # 遍历不大于100的非负整数
result = result + 1 / i # 将产生的每个整数依次加到累加器上
print(result) # 输出结果
第5关
result = 0 # 累加器置0
f = 1 # 符号变量初值1
A = int(input())
for i in range(1, A, 2): # 遍历不大于100的非负整数
result = result + f * 1 / i # 将产生的每个整数依次加到累加器上
f = -f # 改变正负号
print(result) # 输出结果
第6关
result = 0 # 累加器置0
f = 1 # 符号变量初值1
A = int(input())
for i in range(A): # 遍历不大于100的非负整数
result = result + f * 1 / (2*i+1) # 将产生的每个整数依次加到累加器上
f = -f # 改变正负号
print(result) # 输出结果
print(result*4) # 输出结果
第7关
n = float(input())
result = 0
f = 1
k = 1
while True:
temp = f / k
if abs(temp) <= n:
break
result += temp
k += 2
f = -f
print(result)
print(result * 4)
第8关
m = int(input())
n = int(input())
for cock in range(1, int(m / 5)):
for hen in range(1, int(m / 3)):
for chicken in range(1, m * 3):
if cock + hen + chicken == n and cock * 5 + hen * 3 + chicken / 3 == m:
print(cock, hen, chicken)
第9关
def print_(a, b):
for cock in range(1, int(a / 5)):
for hen in range(1, int(a / 3)):
for chicken in range(1, b + 1 - cock - hen):
if cock + hen + chicken == b and cock * 5 + hen * 3 + chicken / 3 == a:
print(cock, hen, chicken)
return None
print("无解")
m = int(input())
n = int(input())
print_(m, n)
for遍历自学检测
A A C A B
while循环自学检测
A B A A
流程跳转自学检测
D A B D A
A A B A C
range自学检测
B D B C B
A C C B C
鸡兔同笼(project)
第1关
# 补充你的代码
head = 35
foot = 94
y = (foot - 2 * head) // 2
x = head - y
print(f'买{x}只鸡,买{y}只兔')
第2关
# 补充你的代码
head, foot = map(int, input().split())
if foot % 2 != 0 or foot < 2 * head or foot > 4 * head:
print("Data Error!")
else:
y = (foot - 2 * head) // 2
x = head - y
print(f'有{x}只鸡,{y}只兔')
第3关
# 补充你的代码
def solve_chickens_and_rabbits(head, foot):
if foot % 2 != 0 or foot < 2 * head or foot > 4 * head:
print("无合适的组合方案")
return 0, 0
else:
y = (foot - 2 * head) // 2
x = head - y
return x, y
def solve_cage(chick, rabbit):
if rabbit == 0 or chick == 0:
return None
else:
for chick_a in range(chick + 1):
for rabbit_a in range(rabbit + 1):
chick_b = chick - chick_a
rabbit_b = rabbit - rabbit_a
if rabbit_a * 3 == chick_a and chick_b * 2 == rabbit_b:
print(f'A笼中有鸡{chick_a}只,兔{rabbit_a}只')
print(f'B笼中有鸡{chick_b}只,兔{rabbit_b}只')
print(f'两笼共有鸡{chick}只,兔{rabbit}只')
return None
print("无合适的组合方案")
heads, feet = map(int, input().split())
chickens, rabbits = solve_chickens_and_rabbits(heads, feet)
solve_cage(chickens, rabbits)
Python第8章作业
第1关
def print_hi_human(): # 函数名用小写字母
"""文档注释,双引号,说明函数的参数、功能和返回值等。
定义一个名为print_hi_human的无参数函数,其功能是打印一句问候语,
这个函数没有return语句,即没有返回值,或者说其返回值为None。
# >>> print_hi_human()
# 人类,你好!
"""
# ==================Begin=====================================
# 此处去掉注释符号“#”并补充你的代码
print("人类,你好!")
# ===================End====================================
if __name__ == '__main__':
# 直接使用函数名来调用函数
# ==================Begin=====================================
# 此处去掉注释符号“#”并补充你的代码
print_hi_human()
# ===================End====================================
第2关
def say_hi_human(): # 函数名用小写字母
"""定义一个名为print_hi_human的无参数函数,其功能是返回字符串-人类,你好!"""
#========================Begin===============================
#补充你的代码
return "人类,你好!"
#==========================End=============================
if __name__ == '__main__':
# 函数名作为print()函数的参数,输出say_hi_human()的返回值
#========================Begin===============================
#补充你的代码
print(say_hi_human())
#==========================End=============================
第3关
def say_hi_person(full_name): # 函数名用小写字母,函数名填空
"""定义一个名为say_hi_person的有参数函数,接受人名的字符串为参数,函数的返回值为“***,你好!”,
例如函数的参数为“李白”,返回值为“李白,你好!”。"""
#====================Begin===================================
# 补充你的代码
return f'{full_name},你好!'
#=====================End==================================
if __name__ == '__main__':
# 函数名作为print()函数的参数,输出say_hi_human()的返回值。输入的人名作为函数的参数
person_name = input() # 输入人名
#====================Begin===================================
# 补充你的代码
print(say_hi_person(person_name))
#=====================End==================================
第4关
def say_hi_gender(full_name, gender): # name 和gender为形式参数
"""定义一个名为say_hi的有参数函数,其功能是打印一句问候语
根据性别gender值确定称谓,男性称为“先生”,女性称为“女士”,不确定性别时称为“先生/女士”
返回值为替换了姓名与称谓的欢迎字符串
例如:尊敬的李白先生,欢迎来到火星!"""
# ====================Begin===================================
# 此处去掉注释符号“#”并补充你的代码
if gender == '男':
print(f'尊敬的{full_name}先生,欢迎来到火星!')
elif gender == '女':
print(f'尊敬的{full_name}女士,欢迎来到火星!')
else:
print(f'尊敬的{full_name}先生/女士,欢迎来到火星!')
# =======================================================
if __name__ == '__main__':
# 直接使用函数名来调用函数
# ====================Begin===================================
# 此处去掉注释符号“#”并补充你的代码
full_name = input()
gender = input()
say_hi_gender(full_name, gender)
# =======================================================
第5关
def say_hi_multi_parameter(*names): # 括号里填上参数
for name in names:
print(f'{name},你好!')
# 对齐此处补充代码
# 调用say_hi_multi_parameter并传入参数
say_hi_multi_parameter('孟浩然')
say_hi_multi_parameter('杜甫', '李白', '柳宗元', '李商隐')
第6关
a = float(input())
b = float(input())
print(pow(a,b))
第7关
def fabs(x):
"""返回x的绝对值"""
# 补充你的代码
return abs(x)
if __name__ == '__main__':
n = float(input())
print(fabs(n))
第8关
def Car(*ls): # 括号里补充你的代码
if len(ls) == 2:
return f'这是一辆{ls[0]}年生产,型号是{ls[1]}的宝马牌汽车。'
return f'这是一辆{ls[0]}年生产,型号是{ls[1]}的{ls[2]}牌汽车。'
# 以下内容不要修改
ls = input().split() # 根据空格切分输入字符串为列表
print(Car(*ls)) # 调用函数,取列表中的全部数据做参数
第9关
def selfDivisor(N):
for num in range(1, N + 1):
str_N = str(num)
P = True
for i in str_N:
if i == '0' or num % int(i) != 0:
P= False
break
if P:
print(str(num), end=' ')
# 获取用户输入并调用函数
n = int(input())
selfDivisor(n)
第10关
import math
def sqrt_binary():
low = 0
high = n + 0.25
guess = (high + low) / 2.0
while abs(guess * guess - n) > epsilon:
if guess * guess < n:
low = guess
else:
high = guess
guess = (high + low) / 2.0
return round(guess, 8)
x = input()
n, eps = x.split(',')
n = float(n)
epsilon = float(eps)
custom = sqrt_binary()
library = round(math.sqrt(n), 8)
print(f"{custom:.8f}")
print(f"{library:.8f}")
头歌-数字教程
提交或者退出网页的时候,必须点击右上角的退出实训,不然时间不会暂停
提交或者退出网页的时候,必须点击右上角的退出实训,不然时间不会暂停
提交或者退出网页的时候,必须点击右上角的退出实训,不然时间不会暂停
Python语言概述
开发环境配置(新手指引)
人机交互
练一练1
# 模仿上面的表达式,自己写一个表达式,然后点击“运行”查看输出结果
1 + 6 / 3 - 4 * 5
练一练2
# 模仿上面的程序,试着编程输出“Hi,Python!”
print('Hi,Python!')
练一练3
# 模仿上面程序,试着编程输出:'Hello ***!' ,其中*号替换成你自己的名字
# 例如输出:你好 李明!
print('Hello ***!')
练一练4
# 模仿上面例子,分别用“-”和“/”为分隔符,输出当前的日期
# 例如:2022年08月01日时年月日分别为2022 08 01,此时输出:
# 2022-08-01
# 2022/08/01
print(2022, 08, 31, sep = '-')
print(2022, 08, 31, sep = '/')
练一练5
# 模仿上面例子,在同一行内输出从0到50的整数,每个整数后有一个空格
# range()括号中的数字控制输出数字的范围
# 正确结果:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
for i in range(50):
print(i, end=' ')
练一练6
# 模仿上面例子,在同一行内输出从0到49的整数,每个整数后有一个半角逗号(英文逗号)
# 正确结果:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
for i in range(50):
print(i, end=',')
练一练7
# 模仿上面例子,按“加+”“减-”“乘*”“除/”的顺序,在4行中输出a与b四则运算的结果,空白处添加你的代码
# 注意输出中的空格应该在字符串中,大括号中只放变量名或表达式
a = 4
b = 8
print(f'{a} + {b} = {a+b}')
print(f'{a} - {b} = {a-b}')
print(f'{a} * {b} = {a*b}')
print(f'{a} / {b} = {a/b}')
# 正确结果:
# 4 + 8 = 12
# 4 - 8 = -4
# 4 * 8 = 32
# 4 / 8 = 0.5
练一练8
# 请模仿上面例子,编程输出:我的名字是李明,来自湖北省武汉市。
user_name = '李明'
city = '武汉'
province = '湖北'
print(f"我的名字是{user_name},来自{province}省{city}市。")
# 将练一练8中的李明、武汉和湖北分别替换为你自己的姓名、入学前的省市,再执行程序查看输出。
user_name = ''
city = ''
province = ''
print(f"我的名字是{user_name},来自{province}省{city}市。")
练一练9
# 模仿上面例子,按“加+”“减-”“乘*”“除/”的顺序,在4行中输出a与b四则运算的结果,结果保留4位小数,空白处添加你的代码
a = 5.3267
b = 7.35364
print(f'{a} + {b} = {a+b:.4f}')
print(f'{a} - {b} = {a-b:.4f}')
print(f'{a} * {b} = {a*b:.4f}')
print(f'{a} / {b} = {a/b:.4f}')
练一练10
# 应用str.format() 方法,按“加+”“减-”“乘*”“除/”的顺序,在4行中输出a与b四则运算的结果,结果保留 2 位小数,空白处添加你的代码
a = 5.3267
b = 7.35364
print('{} + {} = {:.2f}'.format(a, b, a + b))
print('{} - {} = {:.2f}'.format(a, b, a - b))
print('{} * {} = {:.2f}'.format(a, b, a * b))
print('{} / {} = {:.2f}'.format(a, b, a / b))
练一练11
# 应用str.format() 方法,输出:这是一辆2022年生产,型号是L90的红旗牌汽车,售价1000万元。
year = 2022
model = 'L90'
brand = '红旗'
price = 1000
# 补充你的代码,得到输出结果
print('这是一辆{}年生产,型号是{}的红旗牌汽车,售价{}万元。'.format(year,model,price))
练一练12
# 空白处补充你的代码
a = int(input())
b = int(input())
print(a*b)
练一练13
def print_hi(user_name):
print(f'= 欢迎{user_name} =')
def print_line():
print("==================")
def print_blank():
print("= =")
# 补充你的代码
print_line()
print_blank()
print_blank()
print_blank()
print_hi('小明')
print_blank()
print_blank()
print_blank()
print_line()
对象与变量
练一练
hour,minute,second = input().split(':')
print(f"现在是北京时间{hour}时{minute}分{second}秒")
实验项目
百度网盘有我的工程文件,推荐使用PyCharm,VS也可以,或者下载好文件后,右键 .py 文件使用记事本打开复制代码。链接内容不定时更新、优化、纠错(通常在下课前更新)
更新至实验8
链接:点我
提取码:1234