zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python练习4

Python 练习
2023-09-14 09:14:09 时间

1、P88
3.21请思考并描述下面Python语句的输出结果
3.22格式化输出389的二进制、八进制、十进制、十六进制的表达形式,以及对应的Unicode字符
3.23格式化输出0.002178对应的科学表示法形式,保留4位有效的标准浮点形式以及百分形式

2、我国现有人口为13亿,设年增长率为0.8%,编写程序,计算多少年后人口增加到26亿。

3、学生去机房上机要求按学号对应坐,座位号分配的规则是:1班按学号的最后两位对应座位号坐,2班从41号开始,3班从81号开始。(每班不超过40人),要求:输入学号和姓名,输出姓名和座位号。

4、用户信息判别。用户输入身份证号码,程序自动输出一下信息:
请输入你的身份证号码:32012119771208004X
你出生于1977年12月08日。
你今年43周岁。
你的性别为女。

5、输入三个数x,y,z 经过比较和交换,让x,y,z 中的数从大到小排列。

6、求Sn=1!+2!+3!+4!+5!+...+n!之值,其中n是一个数字,通过键盘输入。

7、编程实现圆角正方形的绘制,要求用户输入正方形的边长(L)和圆角的半径(R),并且程序能够判断用户输入的正确性(0<=R<=L/2)


1、P88
3.21请思考并描述下面Python语句的输出结果
3.22格式化输出389的二进制、八进制、十进制、十六进制的表达形式,以及对应的Unicode字符
3.23格式化输出0.002178对应的科学表示法形式,保留4位有效的标准浮点形式以及百分形式

# P88
# 3.21请思考并描述下面Python语句的输出结果
print("{:>15s}:{:<8.2f}".format("Length", 23.87501))

#3.22格式化输出389的二进制、八进制、十进制、十六进制的表达形式,以及对应的Unicode字符
print("{0:b},{0:o},{0:d},{0:x},{0:X},{0:c}".format(389))

#3.23格式化输出0.002178对应的科学表示法形式,保留4位有效的标准浮点形式以及百分形式
print("{0:e},{0:E},{0:f},{0:%},{0:.4f},{0:.3%}".format(0.002178))

2、我国现有人口为13亿,设年增长率为0.8%,编写程序,计算多少年后人口增加到26亿。

# 2.我国现有人口为13亿,设年增长率为0.8%,编写程序,计算多少年后人口增加到26亿。

num = 13
count = 0
while 1:
    if num >= 26:
        break
    num = num * (1 + 0.008)
    count = count + 1
print(count)

3、学生去机房上机要求按学号对应坐,座位号分配的规则是:1班按学号的最后两位对应座位号坐,2班从41号开始,3班从81号开始。(每班不超过40人),要求:输入学号和姓名,输出姓名和座位号。

# 学生去机房上机要求按学号对应坐,座位号分配的规则是:1班按学号的最后两位对应座位号坐,
# 2班从41号开始,3班从81号开始。(每班不超过40人),要求:输入学号和姓名,输出姓名和座位号。

stu_id = input("请输入学号:")
name = input("请输入姓名:")
short_id = int(stu_id[-2:])
if stu_id.startswith("192001351"):
    print("姓名:{}\t座位号:{}".format(name, short_id))
elif stu_id.startswith("192001352"):
    print("姓名:{}\t座位号:{}".format(name, short_id + 40))
elif stu_id.startswith("192001353"):
    print("姓名:{}\t座位号:{}".format(name, short_id + 80))
else:
    print("学号输入有误!")

4、用户信息判别。用户输入身份证号码,程序自动输出一下信息:
请输入你的身份证号码:32012119771208004X
你出生于1977年12月08日。
你今年43周岁。
你的性别为女。

# 4.用户信息判别。用户输入身份证号码,程序自动输出一下信息:
# 请输入你的身份证号码:32012119771208004X
# 你出生于1977年12月08日。
# 你今年43周岁。
# 你的性别为女。
import time
from pip._vendor.distlib.compat import raw_input
cardno = raw_input("请输入身分证号:")
year = int(cardno[6:10])
month = int(cardno[10:12])
day = int(cardno[12:14])
print("出生日:%s年%s月%s日" % (year, month, day))

current = int(time.strftime("%Y"))
print("你今年 {} 岁了".format(current - year))
print("你的性别为女")



5、输入三个数x,y,z 经过比较和交换,让x,y,z 中的数从大到小排列。

#5.输入三个数x,y,z 经过比较和交换,让x,y,z 中的数从大到小排列。

#定义一个空数组
numbers = []
#循环遍历,下面的4是控制循环次数
for i in range(4):
    if i > 0:
        x = int(input(f"请输入第{i}个整数:"))
        #把用户输入的数传递到定义的numbers数组中
        numbers.append(x)
#输出未排序之前的数字
print(f"未排序之前是:{numbers}")
#让数字从小到大排序
print("由小到大排序完后是:",sorted(numbers))
#让数字从大到小排序
numbers.sort(reverse=True)
print(f"由大到小排序完后是:{numbers}")
#输出最大值
print(f"最大数是:{max(numbers)}")
#输出最小值
print(f"最小数是:{min(numbers)}")

6、求Sn=1!+2!+3!+4!+5!+...+n!之值,其中n是一个数字,通过键盘输入。

# 求Sn=1!+2!+3!+4!+5!+...+n!之值,其中n是一个数字,通过键盘输入。

s = 1
Sn = 0
n = eval(input("亲输入一个数字:"))
for i in range(1, n + 1):
    s = s * i
    Sn = Sn + s
print("Sn =", Sn)

7、编程实现圆角正方形的绘制,要求用户输入正方形的边长(L)和圆角的半径(R),并且程序能够判断用户输入的正确性(0<=R<=L/2)

# 7.编程实现圆角正方形的绘制,要求用户输入正方形的边长(L)和圆角的半径(R),
# 并且程序能够判断用户输入的正确性(0<=R<=L/2)

import turtle as t

l, r = eval(t.textinput("圆角矩形", "输入正方形的边长L和圆角的半径R(用逗号分开):"))
if not 0 <= r <= l / 2:
    t.write("不满足0<=R<=L/2,不能绘制圆角矩形!", font=("Times", 14, "bold",))
else:
    for i in range(4):
        t.fd(l - 2 * r)
        t.circle(r, 90)

t.done()