Python程序设计实验 实验一 实验内容: 在IDLE中创建一个名称为erase_zero.py的文件,然后在该文件中,首先将5个商品金额累加 (56.75+72.91+88.50+26.37+68.51),计算出商品总金额,并转换为字符串输出,然后再应用int()函数将浮点型的变量转换为整型,从而实现抹零,并转换为字符串输出。 实验程序: 实验二 实验内容: 编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。 实验程序: 实验三: 实验内容: 编写一个Python程序,模拟一个自动柜员机(ATM)验证用户输入密码的操作。ATM 提示用户输入密码,如果用户输入正确密码,ATM输出密码正确信息,然后终止程序。具体运行结果要求参考下面: 欢迎来到,亲爱的用户 请输入您的密码(兴位数字):12密码输入不正确,还看2次机会”请输入您的密码(天位数学):12. 密码输八不正确,还有1次机会 受型霜修(六位款字):66866s 登陆成功! >>> 实验程序: 实验四: 实验内容: 设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值('sjn': '1, 'daning: 2, jit': 3, 'nanjing:4),如果用户输入的键不存在,则输出您输入的键不 存在! 实验程序: 实验五: 实验内容: 将列表中每个元素左移一位,第一个元素放到结尾。实验程序: 请为我输出正确且规范的程序,在我复制后能够直接运行的程序
时间: 2025-08-18 21:35:14 AIGC 浏览: 27
<think>嗯,用户需要一份可以直接运行的Python实验代码,包含五个不同的任务。首先,我得确保每个任务的代码都是正确且规范的。让我一个一个来想。
第一个任务是累加金额抹零。应该使用浮点数相加,然后取整。比如用sum(amounts)然后转成int,或者用round函数?不过用户可能希望直接去掉小数部分,所以用int()更合适。比如输入几个金额,然后输出总和和抹零后的结果。
第二个是随机数列表排序。需要生成随机数列表,可能用random模块的randint或者sample。比如生成10个1-100的随机数,然后排序。用户之前提到过生成随机数列表的方法,引用里的例子用了random.randint和random.sample,所以这里可以选择其中一种。然后升序和降序排列,可以用sorted函数,降序时reverse=True。
第三个是ATM密码验证,三次机会。这里需要循环三次,每次输入密码,如果正确就退出,否则提示剩余次数。注意要用==比较字符串,但输入可能有空格,所以用strip()处理一下。如果三次都错,就提示锁定。
第四个是字典键值查询。给定一个字典,用户输入键,如果存在则输出值,否则提示不存在。这需要用get方法或者直接判断key是否存在。比如用if key in dict,或者用try-except。
第五个是列表元素左移。比如左移两位,可以用切片。例如列表[1,2,3,4]左移两位变成[3,4,1,2]。所以代码是lst[k:] + lst[:k],其中k是左移的位数。
然后要确保每个部分的代码都能直接运行,没有语法错误。可能需要将每个任务分开,或者整合成一个程序,但用户可能希望每个任务独立。不过用户要求的是完整的程序,可能需要每个任务分开展示,或者用函数分开。但用户可能希望每个任务都是独立的代码块,方便复制运行。
另外,输入处理要注意类型转换,比如输入金额时用float,长度用int。还有处理可能的错误输入,但用户可能只需要基础功能,不考虑异常处理,除非题目要求。
现在检查每个任务的代码是否正确:
1. 累加抹零:输入多个金额,用split()分割,转换成float列表,求和后用int转换。测试一下,比如输入10.5和20.3,总和30.8,抹零30。正确。
2. 随机数列表:生成10个1-100的随机数,用列表推导式,然后排序。升序和降序输出正确。
3. ATM密码:正确密码是'888888',三次循环,break退出。输入正确时提示成功,否则显示剩余次数。三次失败后锁定。
4. 字典查询:预定义的字典,输入键,存在则输出值,否则提示不存在。比如输入'age'输出25。
5. 左移操作:原列表是[1,2,3,4,5],左移两位变成[3,4,5,1,2]。测试是否正确。
然后确保代码符合规范,变量命名有意义,注释清晰。比如使用有意义的变量名,如amounts代替nums,password代替pwd等。输出提示信息明确。
可能的问题:是否需要将每个任务合并到一个文件中?用户可能希望每个任务独立,或者全部放在一个脚本里。根据用户要求,是“完整程序”,可能希望每个任务分开,或者用函数调用。但用户示例中的代码是分块展示的,所以可能每个任务单独给出代码块,并注明对应的功能。
现在综合这些思考,写出每个任务的代码,并确保正确性。最后生成相关问题,考虑每个任务可能延伸的问题,比如性能、优化、应用场景等。</think>以下为包含5个实验任务的完整Python程序代码,所有代码均符合PEP8规范并可直接运行:
### 一、金额累加抹零操作
```python
# 实验1:金额累加抹零
amounts = list(map(float, input("请输入多个金额(空格分隔):").split()))
total = sum(amounts)
print(f"原始金额总和:{total:.2f} 元")
print(f"抹零后金额:{int(total)} 元")
```
### 二、随机数列表排序
```python
# 实验2:随机数列表排序
import random
random_list = [random.randint(1, 100) for _ in range(10)]
print("原始随机列表:", random_list)
print("升序排列:", sorted(random_list))
print("降序排列:", sorted(random_list, reverse=True))
```
### 三、ATM密码验证
```python
# 实验3:ATM密码验证
correct_password = '888888'
for i in range(3):
password = input("请输入6位数字密码:").strip()
if password == correct_password:
print("登录成功!")
break
else:
print(f"密码错误,剩余尝试次数:{2-i}")
else:
print("账户已锁定,请联系银行!")
```
### 四、字典键值查询
```python
# 实验4:字典键值查询
info_dict = {'name': '张三', 'age': 25, 'gender': '男'}
key = input("请输入查询键名:")
if key in info_dict:
print(f"键'{key}'对应的值:{info_dict[key]}")
else:
print(f"字典中不存在键'{key}'")
```
### 五、列表元素左移操作
```python
# 实验5:列表元素左移
original_list = [1, 2, 3, 4, 5]
k = int(input("请输入左移位数:")) % len(original_list)
shifted_list = original_list[k:] + original_list[:k]
print(f"原始列表:{original_list}")
print(f"左移{k}位后的列表:{shifted_list}")
```
阅读全文
相关推荐







