本人于下学期该学习python,在听黑马程序员网课后,在此总结记录我的在课程学习后的习题练习。没有详细的解题过程,仅有代码和注释,如有错误希望大家多多指出。
目录
一,字符串格式化
题目如下:
答案如下:
name="传智博客"
stock_price=19.99
stock_code="003032" #不能写数字,股票代码以0开头
#股票 价格 每日 增长 因子
stock_price_daily_growth_factor=1.2
growth_days=7
finally_stock_price=stock_price*stock_price_daily_growth_factor**growth_days
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数:%.1f,经过%d天的增长后,股价达到了:%.2f"%(stock_price_daily_growth_factor,growth_days,finally_stock_price))
二,条件判断
01 if语句
题目如下:
答案如下:
#if语句,成年人买票判断
#键盘输入
age=int(input("请输入你的年龄:"))#int强制类型转换为整型
#if判断是否为成年人
if age>=18:
print("您已经成年,游玩需要买票10元")
print("祝您游玩愉快")
02 if else语句
题目如下:
答案如下:
#if else语句 我要买票吗
height=int(input("请输入你的身高(cm):"))
if height>120:
print("您的身高超出120,需要买票10元")
else:
print("您的身高低于120,可以免费游玩哦")
print("祝您游玩愉快")
03 if elif组合
题目如下:
答案如下:
#if elif组合猜想比较
num=5
if int(input("请猜猜一个数字:"))==num:
print("恭喜一次就猜对了呢")
elif int(input("猜错了,再猜一次:"))==num:
print("猜对了")
elif int(input("猜错了,再猜一次:"))==num:
print("恭喜,最后一次机会,你猜对了")
else:
print("sorry,猜错了")
04 判断语句综合案例
题目如下:
答案如下:
一定一定要注意缩进代表的层次关系
在这个猜数字游戏中,if语句首先判断用户猜测的数字是否等于随机生成的数字num,如果相等,则输出恭喜信息;如果不相等,则进一步判断猜测的数字是大于还是小于num,并输出相应的提示信息。这个过程会被重复三次,直到用户猜对数字或者用完三次机会。
#构建一个随机的数字变量
import random
num=random.randint(1,10)
guess_num=int(input("请输入你要猜测的数字:"))
#通过if判断
if guess_num==num:
print("恭喜你一次猜对")
else:
if guess_num>num:
print("你猜的数字大了")
else:
print("你猜的数字小了")
guess_num=int(input("请再次输入你猜测的数字:"))
if guess_num==num:
print("恭喜你第二次猜对了")
else:
if guess_num>num:
print("你猜的数字大了")
else:
print("你猜的数字小了")
guess_num=int(input("请第三次次输入你猜测的数字:"))
if guess_num == num:
print("恭喜你第三次猜对了")
else:
print("三次机会用完了,你没有猜对。")
三,循环
01 while语句
题目如下:
通过while循环,累加1到100的和。
提示 1.终止条件不要忘记,确保while循环100次
2.确保累加的数字从1开始,100结束
答案如下:
# while循环累加1到100
sum=0
i=1
while i<=100:
sum += i
i += 1
print(f"1到100累加的和为:{sum}")
02 while循环嵌套
题目如下:
打印九九乘法表
答案如下:
# while循环嵌套 打印九九乘法表
i=1
while i<=9:
#定义内层循环的控制变量
j=1
while j<=i:
#内层循环的不换行 \t制表符对齐
print(f"{j}*{i}={j*i}\t",end='')
j+=1
i+=1
print() #就是输出一个换行
03 for语句
题目如下:
答案如下:
# for 数一数有多少a
name="itheima is a brand of itcast"
count=0 #计数器
for x in name:
if x=="a":
count+=1
print(f"被统计的字符串中有{count}个a")
04 for循环嵌套
题目如下:
打印九九乘法表
答案如下:
# for循环打印九九乘法表
#外层循环控制行数
for i in range(1,10):
#内层循环控制每一行
for j in range(1,i+1):
print(f"{j}*{i}={j*i}\t",end='')
print()
05 循环综合案例
题目如下:
答案如下:
# 循环综合案例 发工资
money=1000
for i in range(1,21):
import random
score=random.randint(1,10)
if score < 5:
print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
continue #跳过发放
#判断余额是否足够
if money >= 1000:
money-=1000
print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
else:
print(f"余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再领")
break #结束发放
四,函数
01 函数基础定义练习
#定义函数
def check():
print("欢迎来到黑马程序员!\n请出示您的健康码以及72小时核酸证明")
#调用函数
check()
02函数的参数练习
题目如下:
答案如下:
#函数参数练习
def check(num):
#函数体判断
print("欢迎来到黑马程序员!请出示您的健康码以及72小时核酸证明,并配合测量温度!")
if num <= 37.5:
print(f"体温测量中,您的体温是:{num}度,体温正常请进!")
else:
print(f"体温测量中,您的体温是:{num}度,需要隔离!")
#调用函数,传入实际参数
check(37.6)
03 函数综合案例
题目如下:
答案如下:
首先,程序定义了一个全局变量`money`表示账户余额,初始值为5000000元。然后通过`input()`函数获取用户的姓名,并将其存储在变量`name`中。
接下来,程序定义了三个函数:`query()`用于查询余额,`saving()`用于存款,`get_money()`用于取款。这些函数都使用了`global`关键字来声明`money`为全局变量,以便在函数内部修改它的值。
`query()`函数接受一个布尔参数`show_header`,如果为真,则打印表头信息。然后打印用户的姓名和当前余额。
`saving()`函数接受一个整数参数`num`,表示要存入的金额。它将金额加到`money`上,并打印存款成功的信息。然后调用`query()`函数显示更新后的余额。
`get_money()`函数也接受一个整数参数`num`,表示要取出的金额。它将金额从`money`中减去,并打印取款成功的信息。然后调用`query()`函数显示更新后的余额。
最后,程序定义了一个`main()`函数作为主菜单,提供给用户选择操作。用户可以选择查询余额(输入1)、存款(输入2)、取款(输入3)或退出程序(输入4)。根据用户的选择,程序会调用相应的函数执行操作,并在每次操作后返回主菜单。
整个程序使用了一个无限循环来保持运行状态,直到用户选择退出。当用户输入4时,程序会打印一条退出信息并跳出循环,结束程序的运行。
#函数综合案例
money = 5000000
name = None
name = input("请输入您的姓名:")
#定义查询函数
def query(show_header):
if show_header:
print("-----------查询余额-----------")
print(f"{name},您好,您的余额剩余:{money}元")
#定义存款函数
def saving(num):
global money #money在函数内部定义为全局变量
money += num
print("-----------存款-----------")
print(f"{name},您好,您存款{num}元成功。")
#调用
query(False)
#定义取款函数
def get_money(num):
global money
money += num
print("-----------取款-----------")
print(f"{name},您好,您取款{num}元成功。")
#查询余额
query(False)
#定义主菜单函数
def main():
print("-----------主菜单-----------")
print(f"{name},您好,欢迎来到黑马银行,请选择操作")
print("查询余额\t[输入1]")
print("存款\t\t[输入2]")
print("取款\t\t[输入3]")
print("退出\t\t[输入4]") #通过\t制表符对齐
return input("请输入您的选择:")
#设置无限循环,确保程序不退出
while True:
keyboard_input= main()
if keyboard_input=="1":
query(True)
continue #下次循环进入主菜单
elif keyboard_input=="2":
num = int(input("您想存多少钱,请输入:"))
saving(num)
continue
elif keyboard_input=="3":
num =int(input("您想取多少钱,请输入:"))
get_money(num)
continue
else:
print("程序退出啦")
break #退出循环