如何使用Python打印基于输入的生肖的报价?

2024-06-14 07:54:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个控制台个性测试,我想为玩家输入的星座打印一个引号。我不想使用大量的if语句,我可以用字典和循环来实现吗

其中键是黄道带符号,值是特定的引号,然后使用循环和简短的if语句将键与给定的输入循环,并打印相应的值,即引号

这是我的密码:

sign = input("What is your zodiac sign ? (Enter one of these: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces )  ---> ")


zodiac_signs = {
  "aries": "quote", 
  "taurus": "quote", 
  "gemini": "quote", 
  "cancer": "quote", 
  "leo": "quote", 
  "virgo": "quote", 
  "libra": "quote", 
  "scorpio": "quote", 
  "sagittarius": "quote", 
  "capricorn": "quote", 
  "aquarius": "quote", 
  "pisces": "quote"
  }

接下来我该怎么办


Tags: if语句引号quotelibrageminisignleo
3条回答

加上Challe所说的,您可能还希望将输入的字母小写,以便即使第一个字母使用大写字母,键也能匹配

Python字典有一个专门针对这个问题的get方法

print(zodiac_signs.get(sign, "That's not a zodiac sign"))

如果给定的键位于dict中,则返回该键的值,否则返回给定的默认参数

你可以从字典里找到十二生肖

sign = input("What is your zodiac sign ? (Enter one of these: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces )  -> ")

zodiac_signs = { "aries": "quote", "taurus": "quote", "gemini": "quote", "cancer": "quote", "leo": "quote", "virgo": "quote", "libra": "quote", "scorpio": "quote", "sagittarius": "quote", "capricorn": "quote", "aquarius": "quote", "pisces": "quote" }

try:
    print(zodiac_signs[sign])
except(Exception e):
    print("That's not a zodiac sign")

相关问题 更多 >