第四章 程序的控制结构
import random
# 生成一个0~9之间的整数
number = random.randint(0, 9)
# 记录猜的次数
guesses = 0
# 循环,直到猜中为止
while True:
# 读取用户输入的数字
guess = int(input("请输入一个0~9之间的整数:"))
# 猜的次数加1
guesses += 1
# 判断猜的数字和预设的数字的大小关系
if guess > number:
print("遗憾,太大了!")
elif guess < number:
print("遗憾,太小了!")
else:
print("预测{}次,你猜中了!".format(guesses))
break
代码一:
str = input("请输入字符串:")
eng, chin, num, space, other = 0, 0, 0, 0, 0
for i in str:
if '\u4E00' <= i <= '\u9FFF':
chin += 1
elif 'a' <= i <= 'z' or 'A' <= i <= 'Z':
eng += 1
elif '0' <= i <= '9':
num += 1
elif i == " ":
space += 1
else:
other += 1
print("中文字符有{}个\n英文字符有{}个\n数字有{}个\n空格有{}个\n其他字符有{}个".format(chin, eng, num, space, other))
代码二:
# 从标准输入获取一个字符串
string = input("请输入字符串:")
# 初始化一个字典,用于记录不同类型的字符数量
count = {'eng': 0, 'chin': 0, 'num': 0, 'space': 0, 'other': 0}
# 遍历字符串中的每个字符
for char in string:
if '\u4e00' <= char <= '\u9fff': # 如果是中文字符
count['chin'] += 1 # 中文字符数量+1
elif char.isdigit(): # 如果是数字字符
count['num'] += 1 # 数字字符数量+1
elif char.isspace(): # 如果是空格字符
count['space'] += 1 # 空格字符数量+1
elif char.isalpha(): # 如果是英文字母字符
count['eng'] += 1 # 英文字母字符数量+1
else: # 如果是其他类型的字符
count['other'] += 1 # 其他类型的字符数量+1
# 输出不同类型字符的数量
print(f"中文字符有{count['chin']}个\n英文字符有{count['eng']}个\n数字有{count['num']}个\n空格有{count['space']}个\n其他字符有{count['other']}个")
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
# 求最大公约数
def gcd(a, b):
if a < b:
a, b = b, a
while b != 0:
r = a % b
a = b
b = r
return a
# 求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
import random
# 生成一个0~100之间的整数
number = random.randint(0, 100)
# 记录猜的次数
guesses = 0
# 循环,直到猜中为止
while True:
# 读取用户输入的数字
guess = int(input("请输入一个0~100之间的整数:"))
# 猜的次数加1
guesses += 1
# 判断猜的数字和预设的数字的大小关系
if guess > number:
print("遗憾,太大了!")
elif guess < number:
print("遗憾,太小了!")
else:
print("预测{}次,你猜中了!".format(guesses))
break
import random
# 生成一个0~100之间的整数
number = random.randint(0, 100)
# 记录猜的次数
guesses = 0
while True:
try:
# 用户输入猜测的数字,要求输入必须为整数
guess = int(input("请输入一个0~100之间的整数:"))
guesses += 1 # 猜测次数加1
if guess > number:
print("遗憾,太大了!")
elif guess < number:
print("遗憾,太小了!")
else:
print("预测{}次,你猜中了!".format(guesses))
break
except:
print("输入内容必须为整数!请重新输入") # 如果用户输入的不是整数,则提示用户重新输入
import random
# 初始化三扇门
doors = ['goat', 'goat', 'goat']
# 随机放置汽车
car_index = random.randint(0, 2)
doors[car_index] = 'car'
# 参赛者随机选择一扇门
player_choice = random.randint(0, 2)
print("你选择了门", player_choice + 1)
# 主持人开启一扇有山羊的门
# 主持人不能开启参赛者选择的门和有汽车的门
opened_door_indices = [i for i in range(3) if i != player_choice and i != car_index]
goat_index = random.choice(opened_door_indices)
print("主持人打开了门", goat_index + 1, ",里面是一只山羊")
# 参赛者是否更换选择
change_choice = input("你想要更换选择吗?(y/n)").lower().startswith('y')
if change_choice:
player_choice = [i for i in range(3) if i != player_choice and i != goat_index][0]
print("你更换了选择,现在选择的是门", player_choice + 1)
# 输出结果
if doors[player_choice] == 'car':
print("恭喜你猜中了汽车!")
else:
print("很遗憾,你猜错了,汽车在门", car_index + 1, "后面")
try:
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("华氏温度{}转换为摄氏度温度是:{:.2f}C".format(TempStr, C))
elif TempStr[-1] in ['C', 'c']:
F = eval(TempStr[0:-1]) * 1.8 + 32
print("摄氏温度{}转换为华氏温度是:{:.2f}F".format(TempStr, F))
else:
raise ValueError("输入格式错误")
except ValueError as e:
print("输入错误!")