神奇的字典——涉及方法get()的应用

本文介绍了一种利用Python字典优化传统四则计算器的方法,通过使用字典的get方法,避免了无效运算,提高了代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字典可以存储python中的任何数据结构
神奇的字典
重写四则计算器,运用字典的神奇方法
1.普通的四则计算器写法

'''
编写四则计算器,普通
'''

x = int(input('input the first:'))
o = input('input the operation:')
y = int(input('input the second:'))

if o == '+':
    print(x + y)
elif o == '-':
    print(x-y)
elif o == '*':
    print(x * y)
elif o == '/':
    print(x / y)
else:
    pass

但是当输入不是+、-、*、/的时候,会出现以下的运算结果。看似什么都没做,但是实际情况程序已经执行了4次的运算。
在这里插入图片描述
为了避免上述无用的计算,以下用字典来重写四则计算器,代码如下:

'''
使用字典的神奇用法来重写四则计算器
'''
x = int(input('input the first:'))
o = input('input the operation:')
y = int(input('input the second:'))

operation = {'+':x + y,
             '-':x - y,
             '*':x * y,
             '/':x / y
        }

result = operation.get(o,"please input '+' | '-' | '*' | '/':")
print(result)

以上使用了字典的get方法,这是一个是好用的方法。

### 关于Python字典和字符串的计算思维训练 #### 字典的操作实例 在Python中,字典是一种非常灵活的数据结构,可以存储键值对。下面是一个简单的例子来展示如何创建、访问、修改以及删除字典中的条目。 ```python # 创建一个字典 person = {"name": "Alice", "age": 25, "city": "Beijing"} # 访问字典元素 print(person["name"]) # 更新字典元素 person["age"] = 26 # 删除字典元素 del person["city"] ``` 对于更复杂的逻辑处理,比如遍历字典并执行特定条件下的操作,则可以通过循环语句实现: ```python for key, value in person.items(): if isinstance(value, int): print(f"{key} is an integer with the value {value}") ``` 上述代码展示了基本的字典操作[^1]。 #### 字符串的相关练习 针对字符串而言,有多种方式来进行数据清洗与分析工作。这里给出一个小练习案例:给定一段文本,去除所有非字母字符并将剩余部分转为小写字母形式;接着判断这段话是否构成回文(即正读倒读都一样)。这不仅考验了对字符串函数的理解程度,也锻炼了解决实际问题的能力。 ```python import re def clean_and_check_palindrome(text): cleaned_text = ''.join(re.findall(r'[a-zA-Z]+', text)).lower() return cleaned_text == cleaned_text[::-1] input_string = input("请输入要检测的文字:") if clean_and_check_palindrome(input_string): print("这是一个回文") else: print("这不是一个回文") ``` 此段程序实现了从用户那里接收输入,并按照题目要求完成了相应的功能[^3]。 #### 结合两者进行综合应用涉及到更加复杂的应用场景时,可能需要同时运用到字典和字符串的知识点。例如,在自然语言处理领域内,经常需要用到词频统计这样的任务——即将文档里的单词作为键存入字典里,而它们出现次数则对应着各个键所关联的值。这类实践有助于加深理解这两者之间的联系及其各自特性。 ```python word_count = {} text = "This is a sample sentence to demonstrate word frequency counting." words = re.findall(r'\b\w+\b', text.lower()) for word in words: word_count[word] = word_count.get(word, 0) + 1 print(word_count) ``` 以上示例说明了怎样利用字典高效地完成词语频率计数的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值