1.交换变量
1.假如有二杯饮料,一杯可乐,一杯雪碧,如何交换它们?
可以引入一个空的杯子
代码实现如下:
a = int(input(">>>"))
b = int(input(">>>"))
print(a,b,sep = '\t')
t = a
a = b
b = t
print(a,b,sep = '\t')
>>>1
>>>2
1 2
2 1
a = input(">>>")
b = input(">>>")
print(a,b,sep = '\t')
t = a
a = b
b = t
print(a,b,sep = '\t')
>>>可乐
>>>雪碧
可乐 雪碧
雪碧 可乐
2.python中提供了比较自然的方式,交换两个变量
变量1 ,变量2 = 变量2,变量1
则变量2的值赋给了变量1,变量1的值赋给了变量2
注意:左右两边的变量个数也需相同
x = int(input(">>>"))
y = int(input(">>>"))
print(x,y,sep = '\t')
x , y = y , x
print(x,y,sep = '\t')
>>>1
>>>2
1 2
2 1
x = input(">>>")
y = input(">>>")
print(x,y,sep = '\t')
x , y = y , x
print(x,y,sep = '\t')
>>>可乐
>>>雪碧
可乐 雪碧
雪碧 可乐
3.尝试交换三个变量
x = 1
y = 2
z = 3
x , y , z = z , y , x
print(x,y,z)
2.温度互转
摄氏温标(C)和华氏温标(F)之间的换算关系为:
F=C×1.8+32
C=(F-32)÷1.8
1.C转F
T = input("请输入带有符号的温度值:")
if T[-1] in ['C','c']:#字符串最后一个字符是F或者f
C=(eval(T[0:-1])) * 1.8 + 32
print("转换后的温度是{:.2f}f".format(C))
请输入带有符号的温度值:100c
转换后的温度是212.00f
第一个字符到最后一个字符之前的所有字符,
也就是温度值,eval函数是脱掉字符串结构
{:.2f}.format©)输出结果,保留最后两位小数,是C的格式化
2.F转C
T=input("请输入带有符号的温度值:")
if T[-1] in ['F','f']:
C=(eval(T[0:-1])-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
请输入带有符号的温度值:100f
转换后的温度是37.78C
3.任意温度互转
for i in range(2):
T =input("请输入带有符号的温度值:")
if T[-1] in ['F','f']:
C=(eval(T[0:-1])-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif T[-1] in ['C','c']:
F=1.8*eval(T[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
请输入带有符号的温度值:10F
转换后的温度是-12.22C
请输入带有符号的温度值:10C
转换后的温度是50.00F
3.数字中各位数之和
1.首先要分析这个数字的位数
2.依次求个位数,十位数,百位数,…
3.求它们的和
实现一:
a = input(">>>")
c = len(a)
a = int(a)
sum = 0
for i in range(c):
b = a % 10
sum = sum + b
a = a // 10
print(sum)
>>>12345
15
由于len()函数对于string类型的变量可测字符长度,即可的位数
需要再把a的数据类型转换为int
实现二:
x = int(input(">>>"))
sum = 0
while x > 0:
y = x % 10
sum =sum + y
x = x // 10
print(sum)
>>>45678
30
不管用那种语句进行实现,其代码核心内容始终不会变
4.判断某数是否为素数
素数,也叫质数,就是除了1以外没有其他因数
1.for+ if …else
a = int(input(">>>"))
for i in range(2,a):
if a % i == 0:
print("不是素数")
break
else:
print("是素数")
break
>>>17
是素数
2.while + if …else
x = int(input(">>>"))
k = 2
while k <= x:
if x % k == 0:
print("不是素数")
break
else:
print("是素数")
break
k = k+1
一样,核心算法判断理解都是一样的,也可以写成do …while语句,自己可以动手试试看
5.生成随机数
import random
print(random.randint(0, 9))
2
以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字
语法:random.randint(a, b) 随机生成
1.random.random()
用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成随机数
随机整数:
>>> import random
>>> random.randint(0,99)
>21
随机选取0到100间的偶数:
>>> import random
>>> random.randrange(0, 101, 2)
42
随机浮点数:
>>> import random
>>> random.random()
0.08761508031661935
>>> random.uniform(1, 10)
3.4665122389179395
随机字符:
>>> import random
>>> random.choice('abcdefg&#%^*f')
'd'
多个字符中选取特定数量的字符:
>>> import random
random.sample('abcdefghij',3)
['a', 'd', 'b']
多个字符中选取特定数量的字符组成新字符串:
>>> import random
>>> import string
>>> string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r
eplace(" ","")
'fih'
随机选取字符串:
>>> import random
>>> random.choice ( ['c++', 'c', 'java', 'python', 'c#'] )
python
洗牌:
>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
[3, 2, 5, 6, 4, 1]
6.删除列表的重复项
1.使用内置函数set
先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的
a = [1,2,3,4,5,6,6,6]
print(set(a)) #第一步转化为集合
print(list(set(a))) #集合化为列表
{1, 2, 3, 4, 5, 6}
[1, 2, 3, 4, 5, 6]
2.迭代法:
a = [1,2,3,4,5,6,6,6]
b = []
for i in a:
if i not in b:
b.append(i)
print(b)
[1, 2, 3, 4, 5, 6]
写在最后:
谢谢你坚持看完了,本人小白一枚,希望这篇文章能帮助到你
文章中有错误地方欢迎指正,大家一起进步哈