学习python第八天
课后作业
nums = [2, 3, 4, 5, 6, 7, 8, 9, 4, 5, 5, 3, 3, 8, 6, 9]
counts = []
for num in nums:
if num not in counts:
counts.append(num)
print(counts)
注意出现最多次数的元素可能不止一种
nums = [2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 4, 5, 5, 3, 3, 8, 6, 3, 3, 4]
sum = []
max_apper = nums.count(nums[1])
for num in nums:
if max_apper < nums.count(num):
sum.clear()
max_apper = nums.count(num)
sum.append(num)
elif max_apper == nums.count(num):
if num not in sum:
sum.append(num)
print(f',出现最多的元素是{sum}输出了{max_apper}次')
了解字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串
还有一些特殊的字符串创建方法
a = '"hello, \tword"'
b = "'hello, \nword'"
e = 'hello, \aword'
g = 'hello, word\b\b '
h = '\\hello, word\\'
i = r'C:\Users\86187\.jupyter'
j = f'文件路径{i}'
k = '\141\142\143\x61\x62\x63'
f = '\'hello, word\''
c = '''
hello,
word!
googbye,
word
'''
d = '''
君不见,黄河之水天上来,奔流到海不复回。
君不见,高堂明镜悲白发,朝如青丝暮成雪。
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
烹羊宰牛且为乐,会须一饮三百杯。
岑夫子,丹丘生,将进酒,杯莫停。
与君歌一曲,请君为我倾耳听。
钟鼓馔玉不足贵,但愿长醉不复醒。
古来圣贤皆寂寞,惟有饮者留其名。
陈王昔时宴平乐,斗酒十千恣欢谑。
主人何为言少钱,径须沽取对君酌。
五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。
'''
print(a)
print(b)
print(c)
print(d)
print(h)
print(i)
l = '\u9648\u4ed8'
print(l)
字符串的运算
今天学习字符串的运算字符串也是不变数据类型,只能进行读操作,不能进行改写操作
下面进行一些简单的功能
一定要在电脑上亲自测试
a = 'hello, word'
print(len(a))
for i in range(len(a)):
print(a[i])
print(a * 5)
print('or' in a)
print('or' not in a)
b = 'hello, Word'
print(a == b)
print(a != b)
c = 'goodbye word'
print(b > c)
d = 'hello, everybody'
print(b >= c)
print(ord('W'), ord('e'))
下面是字符串一些简单的操作
一定要在电脑上亲自测试
a = 'to be or not to be'
print(a.upper())
print(a.lower())
print(a.capitalize())
print(a.title())
print(a)
b = 'abc123'
print(b.isdigit())
print(b.isalpha())
print(b.isalnum())
print(b.isascii())
c = '你好呀'
print(c.isascii())
print(c.startswith('你'))
print(c.endswith('啊'))
-
在字符串中查找有没有某个子串的操作 -
a = 'Oh apple, i love apple.'
print(a.index('apple'))
print(a.index('apple', 10))
print(a.rindex('apple'))
print(a.find('apple'))
print(a.find('apple', 10))
print(a.rfind('apple'))
课后作业
选做作业1:有一个已经排好序的放整数的列表(数字从小到大),输入要查找的数据,如果在列表中找到该数据,输出该数据在列表的下标(索引),否则输出“找不到该数据”
选做作业2:有一个放整数的列表,其中有一个整数出现次数超过了半数以上,请找出该元素
import random
nums = []
for i in range(50):
nums.append(random.randrange(1, 100))
print(nums)
find = int(input('请输入要查找的数'))
do = False
for num in nums:
if num == find:
print(nums.index(num))
do = True
break
if not do:
print('找不到该数据')
nums = [2, 3, 4, 5, 3, 3, 3, 3, 3, 4, 6, 6, 3]
for num in nums:
if nums.count(num) >= len(nums) // 2:
print(num)
break
杨辉三角
了解一下即可
nums = [1]
for _ in range(0, 20):
order = []
print(nums)
for j in range(0, len(nums) + 1):
if j == 0:
order.append(nums[j])
elif j == len(nums):
order.append(nums[len(nums) - 1])
else:
order.append(nums[j] + nums[j - 1])
nums = order
让计算机使用折半法猜数字游戏
answer = int(input('请输入一个1到100之间的数'))
count = 0
n = 1
m = 100
while True:
gass = (m - n) // 2 + n
if answer > gass:
print(gass)
print('稍微大一点')
n = gass
count += 1
elif answer < gass:
print(gass)
print('稍微小一点')
m = gass // 2
n, m = m, gass
count += 1
else:
print(gass)
print('猜对了!')
break
if count == 6:
print('故障了?')
count = 0
|