7-10 jmu_python_是否是数(异常) 分数 10 作者 蔡莉白 单位 集美大学 本题要求从键盘输入一个字符串,判断该串是否属于整数、浮点数或者复数的表示 输入格式: 输入一个字符串 输出格式: 输出yes或no
时间: 2024-12-22 14:27:23 浏览: 6
7-10 jmu_python_这个题目要求你编写一段Python程序,用户通过键盘输入一个字符串,你需要判断这个字符串是否能代表一个有效的整数、浮点数,或者是复数的形式。为了完成这个任务,你可以按照以下步骤:
1. 使用`try-except`结构对输入的字符串尝试转换成对应的数值类型(int、float或complex)。如果转换成功,说明字符串是有效的数值表示。
```python
input_str = input("请输入一个字符串:")
try:
# 尝试转换为整数
int_num = int(input_str)
# 如果转换为整数无误,再尝试转换为浮点数
float_num = float(input_str)
# 再尝试转换为复数,注意需要两个部分,如 "3+4j"
complex_num = complex(input_str)
except ValueError:
output = "no" # 如果转换失败,则认为不是有效数值表示
else:
output = "yes" # 否则字符串可以表示为数值
print(output)
```
相关问题
R6-3 jmu-python-发牌 分数 10 作者 蔡莉白 单位 集美大学 从键盘输入一个整数作为随机种子,随机生成一副扑克牌(去掉大小王),循环分给4位牌手,每人5张牌(第1、5、9、13、17张牌给第一个玩家,第2、6、10、14、
18张牌给第二个玩家,以此类推),输出每位玩家手中的牌和对应的点数(计算点数时,将A作为1,J、Q、K作为10,其余按牌面点数计算)。
示例输入:
```
123
```
示例输出:
```
player 1: ['♠️9', '♣️K', '♥️J', '♠️3', '♥️7'],total points: 30
player 2: ['♥️6', '♦️10', '♦️Q', '♠️A', '♦️4'],total points: 31
player 3: ['♠️10', '♠️5', '♠️J', '♠️8', '♠️6'],total points: 39
player 4: ['♣️4', '♠️2', '♥️4', '♦️5', '♣️3'],total points: 18
```
提示:
1. 生成一副扑克牌可以使用列表推导式,如 `cards = [f'{rank}{suit}' for rank in ranks for suit in suits]` ,其中 `ranks` 和 `suits` 分别是大小和花色的列表。
2. 可以使用 `random.shuffle()` 方法将列表中的元素随机排序。
3. 分发牌时可以使用循环和取模运算。
4. 计算点数时可以使用字典或者条件判断语句。
2 jmu-python-查成绩 分数 6 作者 蔡莉白 单位 集美大学 从键盘输入一个学生所有课程的成绩,输入格式为”课程名:成绩“,每门课占一行,以空行结束。随后提示”请输入要查询的课程:“,用户从键盘输入课程名,查询并输出该课程的成绩,要求进行异常处理,对不存在的课程进行捕捉处理。 输入格式: 输入学生所有课程的成绩,每门课占一行,格式为”课程名:成绩“,以空行结束 在提示后输入课程名 输出格式: 如果课程存在,直接输出成绩,否则提示”没有该门课程“
好的,这是一道关于Python编程的问题,让我们一步步来看。
首先,我们需要从键盘输入学生所有课程的成绩,每门课占一行,格式为”课程名:成绩“,以空行结束。这可以通过以下代码实现:
```
sub=[] #科目列表 sore=[] #成绩列表
while(1):
s=input()
if s:
x=s.split(":")
sub.append(x[0]) #把输入的科目append到sub列表
sore.append(x[1]) #把输入的成绩append到sore列表
else:
break #s为空跳出循环
```
然后,我们需要提示用户输入要查询的课程名称,并将其存储在变量`check`中:
```
check=input('请输入要查询的课程:\n')
```
接下来,我们需要将科目和成绩合并为一个字典,并根据用户输入的课程名查询对应的成绩。如果找到了该课程,直接输出其对应的成绩;否则,输出“没有该门课程”。这可以通过以下代码实现:
```
zipped=zip(sub,sore) #将sub与sore合并
d=dict(zipped) #将合并的数据转换成字典
try:
print(d[check]) #输入正确的课程即能输出相应的成绩,否则异常处理
except:
print('没有该门课程')
```
最终,这个程序可以如下所示:
```
sub=[] #科目列表 sore=[] #成绩列表
while(1):
s=input()
if s:
x=s.split(":")
sub.append(x[0]) #把输入的科目append到sub列表
sore.append(x[1]) #把输入的成绩append到sore列表
else:
break #s为空跳出循环
check=input('请输入要查询的课程:\n')
zipped=zip(sub,sore) #将sub与sore合并
d=dict(zipped) #将合并的数据转换成字典
try:
print(d[check]) #输入正确的课程即能输出相应的成绩,否则异常处理
except:
print('没有该门课程')
```
希望这个程序可以解决你的问题!
阅读全文