【Python for Everybody】所有assignment课后作业代码

Programming for Everybody (Getting Started with Python)

2.2

Write a program that uses input to prompt a user for their name and then welcomes them. Note that input will pop up a dialog box. Enter Sarah in the pop-up box when you are prompted so your output will match the desired output.

name = input("Enter your name:")
print("Hello",name)

2.3

Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Use 35 hours and a rate of 2.75 per hour to test the program (the pay should be 96.25). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking or bad user data.

hrs = input("Enter Hours:")
rate = input("Enter Rate:")

hrs_f = float(hrs)
rate_f = float(rate)

pay = hrs_f*rate_f

print('Pay:', pay)

3.1

Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Pay the hourly rate for the hours up to 40 and 1.5 times the hourly rate for all hours worked above 40 hours. Use 45 hours and a rate of 10.50 per hour to test the program (the pay should be 498.75). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking the user input - assume the user types numbers properly.

hrs = input("Enter Hours:")
rate = input("Enter Rate:")
h = float(hrs)
r = float(rate)

if h > 40:
    pay = 40*r+(h-40)*(r*1.5)
else:
    pay = h*r
    
print(pay)

3.3

Write a program to prompt for a score between 0.0 and 1.0. If the score is out of range, print an error. If the score is between 0.0 and 1.0, print a grade using the following table:
Score Grade

= 0.9 A
= 0.8 B
= 0.7 C
= 0.6 D
< 0.6 F
If the user enters a value out of range, print a suitable error message and exit. For the test, enter a score of 0.85.

score = input("Enter Score: ")
s= float(score)
if s >=0.0 and s <= 1.0:
    if s >= 0.9:
        print('A')
    elif s >= 0.8:
        print('B')
    elif s >= 0.7:
        print('C')    
    elif s >= 0.6:
        print('D')  
    elif s < 0.6:
        print('F')
else:
    print('Please enter a score between 0.0 and 1.0')
    quit()

4.6

Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Pay should be the normal rate for hours up to 40 and time-and-a-half for the hourly rate for all hours worked above 40 hours. Put the logic to do the computation of pay in a function called computepay() and use the function to do the computation. The function should return a value. Use 45 hours and a rate of 10.50 per hour to test the program (the pay should be 498.75). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking the user input unless you want to - you can assume the user types numbers properly. Do not name your variable sum or use the sum() function.

def computepay(hour, rate):
    if hour >= 40:
        pay = (hour-40)*rate*1.5 + 40*rate
    else:
        pay = hour*rate
    return pay

prompt_hrs = input("Enter Hours:")
prompt_r = input("Enter Rate:")
hrs = float(prompt_hrs)
r = float(prompt_r)

p = computepay(hrs, r)
print("Pay", p)

5.2

Write a program that repeatedly prompts a user for integer numbers until the user enters ‘done’. Once ‘done’ is entered, print out the largest and smallest of the numbers. If the user enters anything other than a valid number catch it with a try/except and put out an appropriate message and ignore the number. Enter 7, 2, bob, 10, and 4 and match the output below.

largest = None
smallest = None
while True:
    prompt_num = input("Enter a number: ")
    if prompt_num == "done":
        break
    try:
        num = int(prompt_num)
        if largest is None or num >= largest:
            largest = num
        if smallest is None or num <= smallest:
            smallest = num
    except:
        print('Invalid input')
        continue
print("Maximum is {}\nMinimum is {}".format(largest, smallest))

Python Data Structures

6.5

Write code using find() and string slicing (see section 6.10) to extract the number at the end of the line below. Convert the extracted value to a floating point number and print it out.

text = "X-DSPAM-Confidence:    0.8475"
p1 = text.find('0')
p2 = text.find('5')
num = text[p1: p2+1]
n = float(num)
print(n)

7.1

Write a program that prompts for a file name, then opens that file and reads through the file, and print the contents of the file in upper case. Use the file words.txt to produce the output below.

fname = input("Enter file name: ")
fh = open(fname)

inp = fh.read()
inp = inp.rstrip()
print(inp.upper())

7.2

Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines of the form:
X-DSPAM-Confidence: 0.8475
Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or a variable named sum in your solution.

# Use the file name mbox-short.txt as the file name
fname = input("Enter file name: ")
fh = open(fname)
s = 0
n = 0
for line in fh:
    if not line.startswith("X-DSPAM-Confidence:"):
        continue
    p = line.find(':')
    con0 = line[p+1:]
    con = float(con0)
    s += con
    n += 1
ave = s/n
print("Average spam confidence:", ave)

8.4

Open the file romeo.txt and read it line by line. For each line, split the line into a list of words using the split() method. The program should build a list of words.

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这里提供一个简单的 Python 作业管理系统代码,你可以根据自己的需求进行修改和完善。 ```python import datetime class Assignment: def __init__(self, title, deadline): self.title = title self.deadline = deadline def __str__(self): return f"{self.title} ({self.deadline.strftime('%Y-%m-%d %H:%M:%S')})" class AssignmentManager: def __init__(self): self.assignments = [] def add_assignment(self, assignment): self.assignments.append(assignment) def remove_assignment(self, assignment): self.assignments.remove(assignment) def get_assignments(self): return self.assignments def get_due_assignments(self): return [a for a in self.assignments if a.deadline < datetime.datetime.now()] def get_upcoming_assignments(self, days=7): return [a for a in self.assignments if a.deadline <= datetime.datetime.now() + datetime.timedelta(days=days)] ``` 使用方法: ```python # 创建一个作业管理器 am = AssignmentManager() # 添加作业 am.add_assignment(Assignment("作业一", datetime.datetime(2022, 1, 31, 23, 59, 59))) am.add_assignment(Assignment("作业二", datetime.datetime(2022, 2, 10, 23, 59, 59))) am.add_assignment(Assignment("作业三", datetime.datetime(2022, 2, 28, 23, 59, 59))) # 获取所有作业 print("所有作业:") for a in am.get_assignments(): print(a) # 获取过期作业 print("过期作业:") for a in am.get_due_assignments(): print(a) # 获取接下来一周要完成的作业 print("接下来一周要完成的作业:") for a in am.get_upcoming_assignments(days=7): print(a) # 删除作业 am.remove_assignment(am.assignments[0]) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值