第十次作业(2018-04-04,周三)

本教程通过实际案例展示了Python在数学计算、财务管理、网站设计及游戏开发等领域的应用,并提供了丰富的练习题来帮助读者掌握这些技能。

教材第十章习题

10-1

#learning_python.txt

In python you can do mathematical calculations
In python you can keep accounts
In python you can design websites

In python you can develop good games

#test.py

file_name = "learning_python.txt"
with open(file_name) as file_object:
contents = file_object.read()
print(contents.rstrip())

with open(file_name) as file_object:
for line in file_object:
print(line.rstrip())

with open(file_name) as file_object:
lines = file_object.readlines()
for line in lines:
print(line.rstrip())

10-2

file_name = "learning_python.txt"
with open(file_name) as file_object:
contents = file_object.read()

print(contents.replace("python","C").rstrip())

10-3

name = input("What's your name?")
file_name = "guest.txt"
with open(file_name,"w") as file_object:

file_object.write(name)

10-4

file_name = "guest_book.txt"
while True:
name = input("What's your name?(q to quit)")
if name != 'q':
print("Hello, "+name+"!")
with open(file_name,'a') as file_object:
file_object.write(name+"\n")
else:

break

10-5

file_name = "programing_reason.txt"

while True:
reason = input("Why do like programing?(q to quit)")
if reason != "q":
with open(file_name,'a') as file_object:
file_object.write(reason+'\n')
else:

break

10-6

number1 = (input("Enter the first number:"))
number2 = (input("Enter the second number:"))
try:
number1 = int(number1)
number2 = int(number2)
print(number1+number2)
except ValueError:

print("Input invalid!")

10-7

while True:
number1 = (input("Enter the first number:"))
number2 = (input("Enter the second number:"))
try:
number1 = int(number1)
number2 = int(number2)
except ValueError:
print("Input invalid!")
else:
print(number1+number2)
break

10-8

file_list = ["cats.txt", "dogs.txt"]
def print_file(file_name):
try:
with open(file_name) as file_object:
print(file_object.read().rstrip())
except FileNotFoundError:
print("The file "+file_name+" doesn't exist.")


for file in file_list:

print_file(file)

10-9

file_list = ["cats.txt", "dogs.txt"]
def print_file(file_name):
try:
with open(file_name) as file_object:
print(file_object.read().rstrip())
except FileNotFoundError:
pass


for file in file_list:

print_file(file)

10-11

#test1.py

import json
favorite_number = input("What's your favorite number?")
file_name = "favorite_number"
with open(file_name,'w') as file_object:

json.dump(favorite_number,file_object)

#test2.py

import json
file_name = "favorite_number"
with open(file_name) as file_object:
favorite_number = json.load(file_object)

print("I know your favorite number!It's "+favorite_number+".")

10-12

import json
file_name = "favorite_number.txt"
try:
with open(file_name) as file_object:
favorite_number = json.load(file_object)
except FileNotFoundError:
favorite_number = input("What's your favorite number?")
with open(file_name,'w') as file_object:
json.dump(favorite_number, file_object)
else:

print("I know your favorite number!It's "+favorite_number+".")

10-13

import json


def get_stored_username():
file_name = 'username.json'
try:
with open(file_name) as file_object:
username = json.load(file_object)
except FileNotFoundError:
return None
else:
return username


def get_new_username():
username = input("What's your name?")
file_name = 'username.json'
with open(file_name,'w') as file_object:
json.dump(username, file_object)
return username


def greet_user():
username = get_stored_username()
if username:
answer = input("Your name is "+username+', right?(y or n)')
if answer == 'y':
print("Welcome back, "+username+"!")
else:
username = get_new_username()
print("We'll remember you when you come back, "+username+"!")
else:
username = get_new_username()
print("We'll remember you when you come back, "+username+"!")


greet_user()

# B4044 [语言月赛 202410] 奇迹战神 ## 题目描述 小 L 的大学生活很忙碌。现在是这学期**第一周的周六早上 $8:00$**,她在检查自己的作业。 大学里的课程多样,每一门课程会有一个**开课星期 $w(1\le w\le 5)$** 和**开课间隔 $d$**,表示第一周开课后,过 $d$ 周会再次开课,并且每次开课一定在周 $w$。例如,一门 $w=4,d=2$ 的课程会在第一周周四、第三周周四、第五周周四,... 开课。除第一次课外,每一次课都会要求同学们上交上一次课的作业。 这学期她报名了 $n$ 个课程,这些课程都有作业。给出所有课程的开课星期和开课间隔,求她再过几天就需要上交第一份作业。 ## 输入格式 输入的第一行有一个正整数 $n$,表示小 L 的课程数量。 之后 $n$ 行,每行有两个正整数 $w$ 和 $d$,表示一门课程的开课星期和开课间隔。 ## 输出格式 输出一行一个正整数,表示小 L 再过几天就要上交第一份作业。 ## 输入输出样例 #1 ### 输入 #1 ``` 2 4 2 1 3 ``` ### 输出 #1 ``` 12 ``` ## 输入输出样例 #2 ### 输入 #2 ``` 3 1 1 2 1 1 1 ``` ### 输出 #2 ``` 2 ``` ## 输入输出样例 #3 ### 输入 #3 ``` 3 1 6 2 5 5 5 ``` ### 输出 #3 ``` 31 ``` ## 说明/提示 【样例 1 解释】 把 $w=4,d=2$ 这门课称为 A 课程,$w=1,d=3$ 这门课称为 B 课程,那么可以画出前四周的日历(`-` 表示没课): |周日|周一|周二|周三|周四|周五|周六| |:-:|:-:|:-:|:-:|:-:|:-:|:-:| |-|B|-|-|A|-|今天| |-|-|-|-|-|-|-| |-|-|-|-|A|-|-| |-|B|-|-|-|-|-| 从日历中不难看出,当前再过 $12$ 天,就会到第三周的周四,要提交 A 课程的作业了;然而 B 课程下一次上课再第四周周一,要过 $16$ 天。 【样例 2 解释】 按照输入顺序把三门课程分别称为 A,B,C 课程,那么可以画出前四周的日历(`-` 表示没课): |周日|周一|周二|周三|周四|周五|周六| |:-:|:-:|:-:|:-:|:-:|:-:|:-:| |-|AC|B|-|-|-|今天| |-|AC|B|-|-|-|-| |-|AC|B|-|-|-|-| |-|AC|B|-|-|-|-| 从日历中不难看出,当前再过 $2$ 天,就会到第二周的周一,要提交 A,C 课程的作业了。 【数据范围】 本题共 $10$ 个测试点,每个 $10$ 分。 对于测试点 $1\sim 3$,保证 $n=1$。 对于测试点 $4\sim 5$,保证所有课程的 $d=1$。 对于全体测试点,保证 $1\le n\le 40$,$1\le w\le 5$,$1\le d\le 14$。
12-07
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值