python入门之list转str/ str转换list

# 需求:根据XX逻辑,拼接一个字符串
# ‘0123456789’要求是字符串
# 方法1:不建议使用缺点:每次循环形成一个新的字符串对象,替换变量引用result
result = ""
for item in range(10):
# ""
# "0"
# "01"
# "012"
    result += str(item)
print(result)

 

# 方法二:优点:每次循环只向列表添加字符串,没有创建列表对象
list_temp = []
for item in range(10):
    list_temp.append(str(item))
# join : list --> str
result = "".join(list_temp)
print(type(result))  # 打印出来看是否是字符串
print(result)

 

# 练习:在控制台中循环输入字符串,如果输入空则停止。
#     最后打印所有内容(拼接后的字符串)
list_result = []
while True:
    str_input = input("请输入字符串:")
    if str_input == "":
        break
    list_result.append(str_input)
list_result = "".join(list_result)
print(list_result)
"""
str --> list
"""
# split(分隔符)
str01 = "张无忌-赵敏-周芷若"
list_result = str01.split("-")
print(list_result)

 

# 练习:英文单词翻转
#     "How are you" --> "you are How"
str01 = "How are you"
list_temp = str01.split(" ")
str_result = " ".join(list_temp[::-1])
print(str_result)

 

# 作业1: 计算列表中最小的值(不实用min)
list01 = [43, 54, 5, 6, 7, 10]
min_value = list01[0]
for i in range(1, len(list01)):
    if min_value > list01[i]:
        print(min_value)

 内存条:

 

 

# 作业2:
# 彩票  双色球:
# 红球:6个,1 -- 33 之间的整数,不能重复
# 蓝球:1个,1 -- 16 之间的整数
# (1)随机产生一注彩票[6个红球,1个蓝球]
import random

list_ticket = []
# 6个不重复的红球
while len(list_ticket) < 6:
    random_number = random.randrange(1, 33)
    # 如果随机数不存在,则存储
    if random_number not in list_ticket:
        list_ticket.append(random_number)
print(list_ticket)
# 1个蓝球
list_ticket.append(random.randrange(1, 16))
print(list_ticket)

# (2)在控制台中购买一注彩票
# 提示:
#     "请输入第1个红色号码:"
#     "请输入第2个红色号码:"
#     "号码不在范围内"
#     "号码已经重复"
#     "请输入蓝球号码:"

# 思路: 6个1 -- 33范围的不重复红球号码
list_ticket = []
while len(list_ticket) < 6:
    number = int(input("请输入第%d个红球号码:" % (len(list_ticket) + 1)))
    if number < 1 or number > 33:
        print("号码不在范围内...")
    elif number in list_ticket:
        print("号码已经重复....")
    else:
        list_ticket.append(number)

# 1个1 -- 16范围内的蓝球号码
while len(list_ticket) < 7:
    number = int(input("请输入蓝球号码:" ))
    if 1 <= number <= 16:
        list_ticket.append(number)
    else:
        print("号码不在范围内....")
print(list_ticket)

 

posted @ 2023-02-01 20:54  黎小菜  阅读(682)  评论(0)    收藏  举报