概述
一、写一个简单(±*/)的计算器, 确保输入的都是数字(如果不是数字,让它重新输入)
一个最简单的计算器,支持+, -, *, / 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
print("选择运算:")
print("a、相加")
print("b、相减")
print("c、相乘")
print("d、相除")
choice = input("输入你的选择(a/b/c/d)")
num1 = int(input("输入第一个数字:"))
num2 = int(input("输入第二个数字:"))
if choice == 'a':
print(num1, "+", num2, "=", add(num1, num2))
elif choice == 'b':
print(num1, "-", num2, "=", subtract(num1, num2))
elif choice == 'c':
print(num1, "*", num2, "=", multiply(num1, num2))
elif choice == 'd':
print(num1, "/", num2, "=", divide(num1, num2))
else:
print("非法输入")
结果
选择运算:
a、相加
b、相减
c、相乘
d、相除
输入你的选择(a/b/c/d)a
输入第一个数字:7
输入第二个数字:8
7 + 8 = 15
#非整型数字会出现报错
输入你的选择(a/b/c/d)b
输入第一个数字:2.5
Traceback (most recent call last):
File "E:pycharmpythonProject6019.py", line 23, in <module>
num1 = int(input("输入第一个数字:"))
ValueError: invalid literal for int() with base 10: '2.5'
二、while单层循环完成9 * 9乘法表
x = 1
y = 1
while x < 10:
print(x, '*', y, '=', x * y, end='t')
if x == y:
y = 0
x = x + 1
print()
y = y + 1
结果
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
三、str字符串中的strip, replace, split, partition, expandtabs, join center,ljust,rjust
strip()方法
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
str_data.strip([chars])
参数 chars – 移除字符串头尾指定的字符。
str_data = "00000i am king00000"
print(str_data.strip('0'))
结果
i am king
replace()
描述
Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法
replace()方法语法:
str_data.replace(old, new,[ max])
参数
old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串
max – 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
实例
str_data = '52013114'
str_data = str_data.replace('0', '你')
print(str_data)
结果
52你13114
split () 分割 和 join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。示例代码如下:
str_data = "to be or not to be"
str_data.split('be')
print(str_data.split())
print(str_data.split('be'))
结果
['to', 'be', 'or', 'not', 'to', 'be']
['to ', ' or not to ', '']
join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:
str_var = ['a', 'b', 'c']
'*'.join(str_var)
print('*'.join(str_var))
结果
a*b*c
center()、ljust()、rjust()格式排版
center()、ljust()、rjust()这三个函数用于对字符串实现排版。示例如下:
str_data = "run"
str_data.center(20, '*')
str_data.rjust(20)
str_data.ljust(20)
print(str_data.center(20, '*'), str_data.rjust(20), str_data.ljust(20))
结果
********run********* run run
partition() 方法搜索指定的字符串
定义和用法
partition() 方法搜索指定的字符串,并将该字符串拆分为包含三个元素的元组。
第一个元素包含指定字符串之前的部分。
第二个元素包含指定的字符串。
第三个元素包含字符串后面的部分。
注释:此方法搜索指定字符串的第一个匹配项。
语法:
string.partition(value)
txt = "I could eat bananas all day"
y = txt.partition("bananas")
print(y)
结果
('I could eat ', 'bananas', ' all day')
expandtabs()方法
expandtabs() 方法把字符串中的 tab 符号 t 转为空格,tab 符号 t 默认的空格数是 8,在第 0、8、16…等处给出制表符位置,如果当前位置到开始位置或上一个制表符位置的字符数不足 8 的倍数则以空格代替。
expandtabs()方法语法:
str.expandtabs(tabsize=8)
tabsize – 指定转换字符串中的 tab 符号(‘t’)转为空格的字符数。
str_var = 'runt12315tabc'
print('原始字符串: {}'.format(str_var))
print('使用 2 个空格替换 \t 符号: {}'.format(str_var.expandtabs(tabsize=2)))
print('使用 3 个空格: {}'.format(str_var.expandtabs(tabsize=3)))
print('使用 4 个空格: {}'.format(str_var.expandtabs(tabsize=4)))
print('使用 5 个空格: {}'.format(str_var.expandtabs(tabsize=5)))
print('使用 6 个空格: {}'.format(str_var.expandtabs(tabsize=6)))
结果
原始字符串: run 12315 abc
使用 2 个空格替换 t 符号: run 12315 abc
使用 3 个空格: run 12315 abc
使用 4 个空格: run 12315 abc
使用 5 个空格: run 12315 abc
使用 6 个空格: run 12315 abc
四、格式化输出
python中的格式化:
使用format方法
语法:
f/F"{你要展示内容}{你要展示的内容}…"
指定宽度和对齐方式,以及填充字符
{name:填充字符对齐方式宽度},使用*填充对齐方式宽度,之间不使用任何分隔符。
{name:*^20}: ^居中对齐
{name:*<20}: <向左对齐
{name:*>20}: >向右对齐
例:格式化输出:
姓名 年龄 性别 家庭住址
xxx xxxx
list_data = [{name: xxx, age: xxx, gender: xxx, address}, …]
包含居中对齐,向左对齐, 向右对齐
list_data = [{'name': '张三', 'age': 21, 'gender': '男', 'address': '燕京'}]
print(F'My name is{list_data[0].get("name"):*^10}, My age is{list_data[0].get("age"):*<6}, '
F'My gender is{list_data[0].get("gender"):*^5},My gender is
{list_data[0].get("address"):*>20}.')
名字居中对齐(使用*填充,宽度10),年龄向左对齐(使用*填充,宽度6),
性别居中对齐(使用*填充,宽度5),家庭住址向右对齐(使用*填充,宽度20)
结果
My name is*张三*, My age is 21****,My gender is**男**, My gender is**************燕京.
最后
以上就是个性指甲油为你收集整理的写一个简单(+-*/)的计算器,while单层循环完成9 * 9乘法表,str字符串函数应用,格式化输出一、写一个简单(±*/)的计算器, 确保输入的都是数字(如果不是数字,让它重新输入)二、while单层循环完成9 * 9乘法表三、str字符串中的strip, replace, split, partition, expandtabs, join center,ljust,rjust四、格式化输出的全部内容,希望文章能够帮你解决写一个简单(+-*/)的计算器,while单层循环完成9 * 9乘法表,str字符串函数应用,格式化输出一、写一个简单(±*/)的计算器, 确保输入的都是数字(如果不是数字,让它重新输入)二、while单层循环完成9 * 9乘法表三、str字符串中的strip, replace, split, partition, expandtabs, join center,ljust,rjust四、格式化输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复